Django-extra-views获取当前用户



我正在使用django-extra-views中的CreateWithInlinesView。在这种情况下,我将如何检索当前用户?

我目前有这样的东西

class PublisherCreateView(CreateWithInlinesView):
    model = Publisher
    inlines = [BookInline,]
    def form_valid(self, form, inlines):
        form.instance.created_by = self.request.user
        return super(PublisherCreateView, self).form_valid(form, inlines)

这仍然返回错误 (1048, "Column 'created_by_id' cannot be null") .

编辑

:将我的编辑变成答案

    def forms_valid(self, form, inlines):
        form.instance.created_by = self.request.user
        return super(PublisherCreateView, self).forms_valid(form, inlines)

这是因为CreateWithInlinesView子类是一个BaseCreateWithInlinesView,该方法使用 forms_valid() 方法调用窗体本身及其内联form_valid()

最新更新