所以我有一個模型,其中包括:訪問類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