gpt4 book ai didi

mysql - Django MySQL 错误(1146、 "Table ' db_name.django_content_type' 不存在”)

转载 作者:可可西里 更新时间:2023-11-01 07:58:00 25 4
gpt4 key购买 nike

我遇到了错误

django.db.utils.ProgrammingError: (1146, "Table 'db_name.django_content_type' doesn't exist")

当我尝试使用我第一次部署在生产服务器上的新数据库对 Django 项目进行初始迁移时。

我怀疑问题可能是因为其中一个应用程序的目录中充满了来自 SQLite3 开发环境的旧迁移;我清除了那些但没有帮助。我还搜索并找到了对多个数据库有问题的人的引用,但我只有一个。

Django 版本是 1.11.6 on python 3.5.4,mysqlclient 1.3.12

最佳答案

一些注意事项:

  • 您是否在代码中可能在构建数据库之前调用的任何位置调用 ContentType.objects 管理器?
  • 我目前正面临这个问题,需要一种方法来检查数据库表是否已构建,然后才能查找任何 ContentTypes

我最终创建了一种方法来检查表以查看它是否已创建,不确定它是否对您也有帮助:

def get_content_type(cls):
from django.contrib.contenttypes.models import ContentType
from django.db import connection

if 'django_content_type' in connection.introspection.table_names():
return ContentType.objects.get_for_model(cls)
else:
return None

至于迁移,我的理解是它们应该始终属于您的版本控制存储库,但是您可以根据需要压缩或编辑它们,甚至重建它们,此链接可以帮助我解决一些迁移问题: Reset Migrations

关于mysql - Django MySQL 错误(1146、 "Table ' db_name.django_content_type' 不存在”),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46675285/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com