Wagtail:如何在Wagtail中复制页面实例及其所有属性和方法

2024-09-28 18:50:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Wagtail网站上有一个课程模型。在

class CoursePage(Page):
    .....
    institute = models.ForeignKey(Institute)
    .....

我有一个django models ForeignKey字段,名为institute

我想以编程方式复制它的实例,以便可以修改新创建的instanceinstitute字段。在

我尝试了django复制模型实例的方法,即:

^{pr2}$

但没用。 它只适用于django模型。模型。但不适用于继承了页的模型


Tags: django实例模型网站models编程方式page
1条回答
网友
1楼 · 发布于 2024-09-28 18:50:36

Page模型实现了一个copy方法来实现这一点:

def copy(self, recursive=False, to=None, update_attrs=None,
         copy_revisions=True, keep_live=True, user=None):

它接受的参数是:

  • recursive-如果为true,也复制子页
  • to-要在其下创建新副本的页面(默认为创建现有页面的同级)
  • update_attrs-复制时要更新的字段的dict,例如{'institute': other_institute}
  • copy_revisions-是否复制修订历史记录
  • keep_live-是否复制“live”状态
  • user-新页面的所有者,用于权限目的

相关问题 更多 >