在ModelForm中捕获django用户save()

时间:2011-01-21 15:57:54

标签: django django-forms

  

可能重复:
  Django forms request.user

我想在保存ModelForm的同时更新日志模型,覆盖ModelForm的save()方法。
我的问题是,在填充日志时,我需要添加发布表单的用户的用户名,而request.user目前不可用(这是正常的,我在ModelForm save()方法中。 ..)。

除了添加隐藏输入以识别POST作者之外,有没有办法访问此值?

1 个答案:

答案 0 :(得分:0)

您可以通过查看功能执行此操作。

def updateModel(request)
    if request.method == 'POST':
         form = MyForm(requst.POST)
         if form.is_valid():
             #do your logging here
             #log(request.user, "updated model")
             form.save()

您可能遇到的唯一问题是,如果您有多个使用form.save()的视图,那么您需要始终记住记录它。