保存w版时如何自动保存当前登录的用户

时间:2018-08-13 23:31:47

标签: django wagtail

我正在测试w是否符合我们的需求,并且想知道如何使用当前登录的用户自动保存用户字段?例如,我要自动保存作者字段:

class HomePage(Page):
    body = RichTextField(blank=True)
    author = models.ForeignKey(User)

    content_panels = Page.content_panels + [
        FieldPanel('body', classname="full"),
    ]

在使用w之前,我将覆盖保存方法以实现此目的,但不适用于w页面,作者字段将保存为空白。

def save_model(self, request, obj, form, change):
    instance = form.save(commit=False)
    instance.author = request.user
    instance.save()
    form.save_m2m()
    return instance

def save_formset(self, request, form, formset, change):
    def set_user(instance):
        instance.author = request.user
        instance.save()
    if formset.model == Homepage:
        instances = formset.save(commit=False)
        map(set_user, instances)
        formset.save_m2m()
        return instances
    else:
        return formset.save()

有人能指出我正确的方向吗?

0 个答案:

没有答案