从 django.db.models 导入 Q、Count、F、JSONField 导入错误:无法导入名称 'JSONField'

时间:2020-12-30 09:41:53

标签: python django

我在 AWS 中使用 ubuntu 来部署 django 项目。 当我运行 python3 manage.py runserver 时,会发生此错误:

       File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/ubuntu/django/opensource-job-portal/peeldb/models.py", line 13, in <module>
    from django.db.models import Q, Count, F, JSONField
ImportError: cannot import name 'JSONField'

我使用 Django 3.0.11。

如何解决我的问题?

2 个答案:

答案 0 :(得分:1)

根据the docs,这是在 Django 3.1 中引入的。所以你需要使用 Django 版本至少 3.1 才能像这样导入 JSONField。

如果您使用的是 Postgres,则可以在 Django 3.0 及更早版本中执行此操作:

from django.contrib.postgres.fields import JSONField

答案 1 :(得分:0)

<块引用>

导入错误:无法导入名称“urlresolvers”

这在 django 1.9 中已被弃用,如果您想使用反向,请改用 django.urls。

from django.urls import reverse
相关问题