所以我有一个模型,其中包括:访问类request.user基于通用视图CreateView的,以设置在Django FK场
class Place(models.Model):
....
created_by = models.ForeignKey(User)
我的观点是,像这样:
class PlaceFormView(CreateView):
form_class = PlaceForm
@method_decorator(login_required)
def dispatch(self, *args, **kwargs):
return super(PlaceFormView, self).dispatch(*args, **kwargs)
是有没有办法让我访问request.user并将created_by设置为该用户?我浏览过文档,但似乎无法找到任何提示。
`
谢谢!这有效,除了重定向。我得到错误:“没有URL重定向到。提供一个url或在模型上定义一个get_absolute_url方法。”但是,我在模型上设置了get_absolute_url(),当我第一次获得该视图时(使用表单上的选择框创建),它正确重定向。试图找出现在。有任何想法吗? – Brian 2011-04-26 04:32:12
是的,看起来get_absolute_url被从self.object中拉出 - 所以在你的代码中,在'form_valid'中设置'self.object = obj' – 2011-04-26 04:50:22
再次感谢。得到它的工作。 – Brian 2011-04-26 05:15:54