0

我有用户在我的站点中创建列表,我正在使用通用的 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类型。

我该如何处理?谢谢

4

1 回答 1

2

你正在寻找form.instance.owner = request.user然后打电话给超级

于 2011-12-22T14:19:37.673 回答