Jor*_*ren 6 python sqlite django postgresql wagtail
问题
我有一个空的(迁移的)postgres数据库,我要将sqlite数据库中的数据移到其中。
我尝试过的
我出口
./manage.py dumpdata --exclude auth.permission --exclude contenttypes --natural-foreign
Run Code Online (Sandbox Code Playgroud)
然后使用将数据加载到postgres db中./manage.py loaddata。
这里的问题是w需要内容类型,并且出现运行时错误
FooPage matching query does not exist.
Run Code Online (Sandbox Code Playgroud)
在
/wagtail/wagtailcore/models.py:639
return content_type.get_object_for_this_type(id=self.id)
Run Code Online (Sandbox Code Playgroud)不排除contenttypes用dumpdata。现在该loaddata命令失败,并显示IntegrityError:Key ... already exists。
我试图ContentType在加载数据之前删除所有模型对象,以免出现重复键的问题。虽然在使用sqlite db时可以正常工作,但在postgres db上却失败,并带有IntegrityError
Key (id)=(1) is still referenced from table "wagtailcore_page".
Run Code Online (Sandbox Code Playgroud)二手版本
有关
小智 0
当我将 Wagtail 站点从 sqlite 移动到 Postgres 时,我做了一些事情,所以只是添加以供参考。
我使用这个网站作为基础,但由于外键问题而无法立即删除ContentType对象时遇到了错误,如下所示:
django.db.utils.IntegrityError:在表“wagtailcore_page”上插入或更新违反了外键约束“wagtailcore_page_content_type_id_c28424df_fk_django_co”
详细信息:表“django_content_type”中不存在键 (content_type_id)=(1)。
似乎是由于 Wagtail 页面对象所致,因此首先在 Django shell 中执行以下两行。然后能够按照该页面上的其余说明执行 ContentType 删除和导入。
from wagtail.core.models import Page
Page.objects.all().delete()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
598 次 |
| 最近记录: |