我做的“干净”的一些东西对管理员的ModelForm:如何从管理员ModelForm清洁方法访问request.user?
class MyAdminForm(forms.ModelForm):
def clean(self):
# Some stuff happens...
request.user.message_set.create(message="Some stuff happened")
class MyAdmin(admin.ModelAdmin):
form = MyAdminForm
除了threadlocals破解 - 怎样访问request.user设置的消息?我无法将它传递给窗体构造函数,因为它没有从我的代码中调用。
嗯。这个消息依赖于一些验证逻辑,因此在ModelForm clean()方法中生活更有意义。如果我将它移动到ModelAdmin save_model(),我将不得不编写一些凌乱的逻辑,以便发送消息! – 2010-02-12 15:30:17
公平点。检查我的编辑,看看是否有帮助。 – 2010-02-12 16:27:58
我将user_messages移动到表单的init中并添加了self。到'user_messages.append'这一行,这是一种享受!谢谢。 – 2010-02-12 17:41:07