Django:更新具有`django_mysql.models.jsonfield`的旧迁移文件?

发布于 2025-02-11 12:41:21 字数 847 浏览 3 评论 0原文

在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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

苦行僧 2025-02-18 12:41:21

只需将其更改为Django建议的适当jsonfield

from django.db.models import JSONField

...

class Migration(migrations.Migration):
    ...    
    operations = [
        migrations.AddField(
            ...
            field=JSONField(default=list)
        ),
    ]

Simply change it to proper JSONField that Django suggests:

from django.db.models import JSONField

...

class Migration(migrations.Migration):
    ...    
    operations = [
        migrations.AddField(
            ...
            field=JSONField(default=list)
        ),
    ]
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文