AttributeError:在Django中迁移时,模块'MySQLdb.constants.FIELD_TYPE'没有属性'JSON'

问题描述

我不知道以什么方式解决错误。有什么提示吗?我有简单的Django项目,尝试执行python3 manage.py migration时收到此错误。这与应用程序中的任何编程错误有关,还是可能与MysqL的安装及其软件包的完整性有关的任何错误?也许manage.py文件中有任何错误?还是在不兼容的Django和MysqL版本中是这种情况?

Traceback (most recent call last):
 File "manage.py",line 23,in <module>
execute_from_command_line(sys.argv)
File "/home/anna/.local/lib/python3.7/site-packages/django/core/management/__init__.py",line 401,in execute_from_command_line
utility.execute()
File "/home/anna/.local/lib/python3.7/site-packages/django/core/management/__init__.py",line 377,in execute
django.setup()
File "/home/anna/.local/lib/python3.7/site-packages/django/__init__.py",line 24,in setup
apps.populate(settings.INSTALLED_APPS)
File "/home/anna/.local/lib/python3.7/site-packages/django/apps/registry.py",line 114,in     
populate
app_config.import_models()
File "/home/anna/.local/lib/python3.7/site-packages/django/apps/config.py",line 211,in   
import_models
self.models_module = import_module(models_module_name)
File "/usr/lib/python3.7/importlib/__init__.py",line 127,in import_module
return _bootstrap._gcd_import(name[level:],package,level)
File "<frozen importlib._bootstrap>",line 1006,in _gcd_import
File "<frozen importlib._bootstrap>",line 983,in _find_and_load
File "<frozen importlib._bootstrap>",line 967,in _find_and_load_unlocked
File "<frozen importlib._bootstrap>",line 677,in _load_unlocked
File "<frozen importlib._bootstrap_external>",line 728,in exec_module
File "<frozen importlib._bootstrap>",line 219,in _call_with_frames_removed
File "/home/anna/.local/lib/python3.7/site-packages/django/contrib/auth/models.py",line 2,in <module>
from django.contrib.auth.base_user import AbstractBaseUser,BaseUserManager
File "/home/anna/.local/lib/python3.7/site-packages/django/contrib/auth/base_user.py",line 
48,in <module>
class AbstractBaseUser(models.Model):
File "/home/anna/.local/lib/python3.7/site-packages/django/db/models/base.py",line 122,in 
__new__
new_class.add_to_class('_Meta',Options(Meta,app_label))
File "/home/anna/.local/lib/python3.7/site-packages/django/db/models/base.py",line 326,in 
add_to_class
value.contribute_to_class(cls,name)
File "/home/anna/.local/lib/python3.7/site-packages/django/db/models/options.py",line 206,in contribute_to_class
self.db_table = truncate_name(self.db_table,connection.ops.max_name_length())
File "/home/anna/.local/lib/python3.7/site-packages/django/db/__init__.py",line 28,in 
__getattr__
return getattr(connections[DEFAULT_DB_ALIAS],item)
File "/home/anna/.local/lib/python3.7/site-packages/django/db/utils.py",line 214,in 
__getitem__
backend = load_backend(db['ENGINE'])
File "/home/anna/.local/lib/python3.7/site-packages/django/db/utils.py",line 111,in 
load_backend
return import_module('%s.base' % backend_name)
File "/usr/lib/python3.7/importlib/__init__.py",level)
File "/home/anna/.local/lib/python3.7/site-packages/django/db/backends/MysqL/base.py",line 
29,in <module>
from .introspection import DatabaseIntrospection            # isort:skip
File "/home/anna/.local/lib/python3.7/site-
packages/django/db/backends/MysqL/introspection.py",line 16,in <module>
class DatabaseIntrospection(BaseDatabaseIntrospection):
File "/home/anna/.local/lib/python3.7/site-   
packages/django/db/backends/MysqL/introspection.py",line 27,in DatabaseIntrospection
FIELD_TYPE.JSON: 'JSONField',AttributeError: module 'MysqLdb.constants.FIELD_TYPE' has no attribute 'JSON'

解决方法

pip install mysqlclient==2.0.1

您需要更新mysqlclient,当前版本是2.0.1,它可以解决此缺失的定义。

,

我遇到了同样的错误,后来我意识到我没有在虚拟环境中运行代码。也许您忘记了激活虚拟环境。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...