これは、ページを編集した後、ページの下書きがwagtailcore.PageRevisionテーブルに保存されるためです。このドラフトは、ページを編集するために戻るときに管理フォームに入力するために使用されます。 「after_page_edit」シグナルがトリガーされる前にドラフトが保存されるため、PageRevisionにページの変更が含まれないため、次回adminインターフェイスをロードしても表示されません。この機能は、セキレイの最近(1.4.3+)バージョンにする必要がありません
from wagtail.wagtailadmin.forms import WagtailAdminPageForm
from wagtail.wagtailcore.models import Page
class MyPageForm(WagtailAdminPageForm):
def clean(self):
cleaned_data = super(MyPageForm, self).clean()
# Set the snippet to a new value
cleaned_data['snippet'] = MySnippet.objects.get()
return cleaned_data
class MyPage(Page):
# Your fields, etc here...
base_form_class = MyPageForm
:
代わりに、あなたは(現在は文書化されていない、申し訳ありません)機能を使用して、ページのモデルに使用するフォームを上書きすることができます作業。
ありがとうございます!私は既にGithubの問題追跡ツールで見たカスタムフォームソリューションを探していました。とても有難い! – dentemm