问题描述
我在使用 background_tasks
和部署时遇到问题。运行 makemigrations
时,我得到:
no such table: background_task
这是我的INSTALLED_APPS
:
INSTALLED_APPS = [
'appname.apps.AppnameConfig','django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','rest_framework','background_task',]
我在 python manage.py makemigrations background_task
之前也尝试过 python manage.py makemigrations
但这也失败了。
我现在的解决方法是将 tasks.py
重命名为 tasks
并注释 urls.py
中我从 tasks.py
调用任务的部分并删除 {{ 1}} 来自 background_task
。然后我做所有的迁移,然后撤消我的重命名/评论/删除。
这有效,但必须有更好的方法吗?
我已经尝试过 here 中的提示(但我的解决方法是基于 OP 自己的 answer)和 here。
解决方法
运行以下命令。
python manage.py migrate --run-syncdb
其他:
您可以删除您的迁移(将删除您的数据库)文件夹,然后再次尝试重新创建它们。
python manage.py makemigrations
python manage.py migrate
python manage.py migrate --run-syncdb