Django:更新具有`django_mysql.models.jsonfield`的旧迁移文件?
在Django的较旧版本中,您可以通过django_mysql.models.jsonfield
在模型中使用JSON字段。在Django的新版本中,JSONFIELD不再在django_mysql.models
中。 型号。
# Generated by Django 2.1.7 on 2019-07-17 22:59
from django.db import migrations
import django_mysql.models
class Migration(migrations.Migration):
dependencies = [
('rss', '0009_delete_patternmatchingkeywords'),
]
operations = [
migrations.AddField(
model_name='rssoutput',
name='industries',
field=django_mysql.models.JSONField(default=list), ##<== ERROR
),
]
我已经相应地更新了我的
attributeError:模块'django_mysql.models'没有属性'jsonfield'
解决此问题的正确过程是什么?
我正在使用:
- Django 4.0
- Python 3.9.13
- Django-Mysql 4.7.0
In older versions of Django, you could use JSON fields in models via django_mysql.models.JSONField
. In new versions of Django, JSONField is no longer in django_mysql.models
. I've updated my models.py files accordingly, but I still have old migrations files that look like this:
# Generated by Django 2.1.7 on 2019-07-17 22:59
from django.db import migrations
import django_mysql.models
class Migration(migrations.Migration):
dependencies = [
('rss', '0009_delete_patternmatchingkeywords'),
]
operations = [
migrations.AddField(
model_name='rssoutput',
name='industries',
field=django_mysql.models.JSONField(default=list), ##<== ERROR
),
]
Now when I run makeMigration
, I get this error:
AttributeError: module 'django_mysql.models' has no attribute 'JSONField'
What is the correct procedure to address this?
I'm using:
- Django 4.0
- Python 3.9.13
- django-mysql 4.7.0
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
只需将其更改为Django建议的适当
jsonfield
:Simply change it to proper
JSONField
that Django suggests: