2011-02-08 82 views
2

我想让在我的网站上查看特定表单的工作人员更改Author字段,但如果is_staff为false,则应假定该值必须是当前的User如何在Django中向工作人员显示表单上的用户字段

所以,举例来说,我有一个ArticleForm,比如这个:

class ArticleForm(ModelForm): 

    class Meta: 
     model = Article 
     fields = ('user', 'title', 'text') 

我怎么能动态调整user领域是否应该显示的基础上,User的状态?

如果我使用自定义__init__函数作为参数user作为参数,然后如何更改该字段是否显示?

回答

3
class ArticleForm(ModelForm): 

    class Meta: 
     model = Article 
     fields = ('user', 'title', 'text') 

    def __init__(self, *args, **kwargs): 
     user = kwargs.pop('user', None) 
     super(ArticleForm, self).__init__(*args, **kwargs) 
     if not user.is_superuser: 
      del self.fields['user'] 
+0

啊,就这么简单。谢谢:) – 2011-02-08 12:37:56

相关问题