我有用户在我的站点中创建列表,我正在使用通用的 CreateView 来允许他们创建它们。列表的字段之一是所有者(谁创建它)。
要求用户选择所有者是没有意义的,因为创建它的用户已经是所有者。
因此,我将“form_class”而不是“model”参数传递给 CreateView,其中 form_class 不包括所有者字段。
为了保存表单,我需要将所有者添加到它。
我将 CreateView 子类化并添加了一个 form_valid 方法,但是我在执行此操作时遇到了问题。
到目前为止,我得到了
class MyCreateView(CreateView)
form_class = ListForm
def form_valid(self, form):
form.??? = self.request.user -->> expression of the left side
return super(MyCreateView, self).form_valid(form)
它应该是简单的。在这个线程中,他们说使用self.object.owner
,但 self.object 是一种None
类型。
我该如何处理?谢谢