我正在尝试将我的 django 项目从 sqlite3 迁移到 postgresql。我在开发中成功地做到了这一点,但在生产中出现了错误。
我已使用此命令创建转储:
manage.py dumpdata --exclude auth.permission --exclude contenttypes > db.json
然后我在 settings.py 中更改了数据库
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'dbname',
'USER': 'username',
'PASSWORD': 'password',
'HOST': 'localhost',
'PORT': '5432',
}
然后我按如下方式排除内容类型:
python3 manage.py shell
from django.contrib.contenttypes.models import ContentType
ContentType.objects.all().delete()
quit()
但我收到此错误:
django.db.utils.IntegrityError: Problem installing fixtures: insert or update on table
"django_admin_log" violates foreign key constraint
"django_admin_log_content_type_id_c4bce8eb_fk_django_co"
DETAIL: Key (content_type_id)=(7) is not present in table "django_content_type".
请帮忙
答案 0 :(得分:1)
好吧,我想通了并成功迁移。 感谢 ankit、Willem Van Onsem 和 Mostafa Ghadimi
我一步一步地遵循了 Mostafa Ghadimi 的回答here。
还清除了 ankit
建议的缓存