How to properly rename a wagtail page model
我有个模特wagtail APP和A,
我想我可以删除从我的
然而,我运行到错误,当我这样做:
1 2 3 4 5 6 7 8 9 10 11 12 | [2019-01-22 23:20:26,344] [ERROR] Internal Server Error: /cms/ Traceback (most recent call last): File"/.../python3.6/site-packages/django/core/handlers/exception.py", line 41, in inner response = get_response(request) File"/.../python3.6/site-packages/django/core/handlers/base.py", line 187, in _get_response response = self.process_exception_by_middleware(e, request) [...snip...] File"/.../python3.6/site-packages/django/db/models/query.py", line 1121, in _fetch_all self._result_cache = list(self._iterable_class(self)) File"/.../python3.6/site-packages/wagtail/core/query.py", line 397, in specific_iterator yield pages_by_type[content_type][pk] KeyError: 278 |
它似乎没有得到的东西,和自动的Django的内置的偏移处理。我不能告诉你在这一步我很乐意得到一些帮助。谢谢!
这是因为wagtail页使用多表继承,并且部分删除的
让我们来看一下新安装的Wagtail(即
1 2 3 | sqlite> SELECT * FROM home_homepage; page_ptr_id 3 |
但它相当空虚。没有标题,没有路径,只有一个
1 2 3 4 | sqlite> SELECT id, path, title, slug, url_path, content_type_id FROM wagtailcore_page; id|path |title|slug|url_path|content_type_id 1 |0001 |Root |root|/ |1 3 |00010001|Home |home|/home/ |2 |
号
就在这儿!
同样,在您的例子中,有
因此,在删除页面模型之前,需要先删除所有页面。您可以通过向迁移中添加runpython步骤来实现这一点。
尽管Django很难对第二个模型进行重命名,但您仍然需要对其进行重命名,如果幸运的话,在您的