在w project项目中,我有一个用于公告的NewsSnippet
片段。从页面更新创建的W distinguish辨别页面
此外(稍微简化),我有一个页面模型CoursePage
其中包含提供的课程的说明。
CoursePage
的子女来自型号Course
。此模型只包含start_date
和end_date
和status
(可用或已预订)以及其他一些我认为对此问题并不重要的模型。
添加新Course
到CoursePage
意味着有CoursePage
类型中的start_date
新的课程。 Course
模型源自AbstractForm
,并允许在相应的日期注册课程。
当创建新的Course
时,我想自动发布(即创建一个NewsSnippet
)。但是,如果Course
刚刚更新,我不想要创建新的NewsSnippet
。此外,我只希望NewsSnippet
在Course
页面发布时创建,而不是保存为草稿。
我认为这可以在通过base_class_form = Myform
使用的course
模型形式的save
方法要么完成了,但是,我不知道如何区分“发布”从“保存为草稿”那里。我也考虑过在文档中使用信号,并且page_published
看起来很有前途,但是文档说:“当修订版被设置为发布时,该信号从PageRevision
发出。”但是,我不想公布每一次修订,只是第一次创建。有没有办法确定page_published
是否是Page
首次被解雇?
此外(这可能是第二个问题),有没有很好的和容易理解的例子如何使用您的应用程序的ready()
方法实现信号?
当一个页面被保存为修订版本时,该钩子也被调用。我可能会在页面模型和'has_unpublished_changes'中摆弄一个标志。无论是在你提到的钩子还是在'page_published'信号中。 –