将 request.user 保存到 Django 额外视图
Save request.user to an django extra view
将 request.user 保存到 django 额外视图。
例子来自Django-Extra-Views。似乎如示例所述那样工作。
https://django-extra-views.readthedocs.org/en/latest/views.html
class OrderCreateView(CreateWithInlinesView):
model = Order
inlines = [ItemsInline, TagsInline]
def get_success_url(self):
return self.object.get_absolute_url()
以下都试过了。它们不起作用。
def form_valid(self, form):
# self.object = form.save()
form.instance.owner = self.request.user
form.save()
return super(OrderCreateView, self).form_valid(form)
throws error:
IntegrityError at /add/
null value in column "owner_id" violates not-null constraint
也尝试添加它 form.save
def save(self, commit=True):
instance = super(OrderCreateView, self).save(commit=False)
instance.owner = self.request.user
instance.save()
throws
'OrderForm' object has no attribute 'request'
如果有人遇到问题,我可以通过将以下内容添加到视图中来使其正常工作。
def forms_valid(self, form, inlines):
form.instance.owner = self.request.user
return super(CreateView, self).forms_valid(form, inlines)
将 request.user 保存到 django 额外视图。
例子来自Django-Extra-Views。似乎如示例所述那样工作。
https://django-extra-views.readthedocs.org/en/latest/views.html
class OrderCreateView(CreateWithInlinesView):
model = Order
inlines = [ItemsInline, TagsInline]
def get_success_url(self):
return self.object.get_absolute_url()
以下都试过了。它们不起作用。
def form_valid(self, form):
# self.object = form.save()
form.instance.owner = self.request.user
form.save()
return super(OrderCreateView, self).form_valid(form)
throws error:
IntegrityError at /add/
null value in column "owner_id" violates not-null constraint
也尝试添加它 form.save
def save(self, commit=True):
instance = super(OrderCreateView, self).save(commit=False)
instance.owner = self.request.user
instance.save()
throws
'OrderForm' object has no attribute 'request'
如果有人遇到问题,我可以通过将以下内容添加到视图中来使其正常工作。
def forms_valid(self, form, inlines):
form.instance.owner = self.request.user
return super(CreateView, self).forms_valid(form, inlines)