我正在使用 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 使用 forms_valid() 方法对 BaseCreateWithInlinesView 进行子类化,该方法调用 form_valid()表单本身及其内联。
