TypeError: объект 'staticmethod' не может быть вызван во время миграции Django
Когда я запускаю python manage.py migrate, я сталкиваюсь со следующей ошибкой:
File "/home/seyedbet/virtualenv/WanderSight/3.9/lib/python3.9/site-packages/django/utils/functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
TypeError: 'staticmethod' object is not callable
Версия Django: 4.2, Версия Python: 3.9
Как я могу решить эту проблему?
Я использовал "mysql.connector.django" с "mysql-connector-python" для бэкенда базы данных. Такая конфигурация приводила к ошибке. Вот что у меня было в файле settings.py:
DATABASES = {
'default': {
'ENGINE': 'mysql.connector.django',
'NAME': 'your_db_name',
'USER': 'your_db_user',
'PASSWORD': 'your_db_password',
'HOST': 'your_db_host',
'PORT': 'your_db_port',
}
}
Чтобы исправить проблему, я переключился на "django.db.backends.mysql" с "mysqlclient" в качестве бэкенда базы данных. Вот обновленная конфигурация, которая устранила ошибку:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'your_db_name',
'USER': 'your_db_user',
'PASSWORD': 'your_db_password',
'HOST': 'your_db_host',
'PORT': 'your_db_port',
}
}
После внесения этого изменения запуск python manage.py migrate работал без каких-либо ошибок.