如何成功删除陈旧内容?
输入yes会产生以下结果:
Creating tables ...
以下内容类型陈旧且需要删除:
auth | message
外键与这些内容类型相关的任何对象也会 被删除。您确定要删除这些内容类型吗? 如果您不确定,请回答'不'。
Type 'yes' to continue, or 'no' to cancel: yes
追踪(最近一次通话): ...
raise errorclass, errorvalue
django.db.utils.DatabaseError:
(1146, "Table '<db_name>.auth_group_permissions' doesn't exist")
Process finished with exit code 1
我尝试的另一件事是:
from django.contrib.contenttypes.models import ContentType
ct = ContentType.objects.get(app_label='auth',model='messages')
我收到以下内容:
DoesNotExist: ContentType matching query does not exist.
答案 0 :(得分:2)
你可以做一个
python manage.py dbshell
并检查之前创建的所有表格。
查看是否存在 auth_group_permissions 。如果它不存在,我猜你可以手动创建它并再次执行该过程。
答案 1 :(得分:1)
model
的内容类型的auth.message
字段为'message'
而不是'messages'
。
所以试试
ct = ContentType.objects.get(app_label='auth',model='message')
然后,您可以列出ct.permission_set.all()
或甚至运行ct.delete()
(在事务和打印相关对象中删除)以重现该问题。
另外,关于'丢失表'的错误很奇怪,你可以在DB中检查表是否真的存在?或者您在1.3中配置了多个DB?