1

我有一个表单,希望不显示用户字段。

模型.py

class Questions(models.Model):
    user=models.ForeignKey(User)
    category=models.ForeignKey(Categories)
    question=models.TextField(max_length=500)
    created_date=models.DateTimeField('date created')
    def __unicode__(self):
        return "%s%s" %(self.question,self.created_date)

表格.py

class QuestionsForm(ModelForm):
        class Meta:
            model = Questions
        widgets = {
            'question': TextInput(attrs={'placeholder': 'Add question here'})
        }
         exclude=('user',)

我尝试排除但该字段仍然出现。怎么做??

提前致谢。

4

3 回答 3

1

不确定它是否应该实际工作:只需进行一些分钟检查:

1.exclude 应该是 Meta 类的一部分

2.从元组中排​​除到列表,(不确定是否有帮助)

3.或者代替 exclude 尝试给出 fields = (#some fields names, )

希望这有效..

于 2013-06-14T14:28:18.873 回答
0

在视图中使用它:

form.fields['name_of_field'].widget = forms.HiddenInput()

或者您可以通过输入隐藏标签在 HTML 中处理它:

<input type='hidden'>
于 2013-06-14T11:05:32.077 回答
0

您可以通过这种方式自定义您的模型表单。

QuestionsForm(ModelForm):
        user = forms.ModelChoiceField(queryset=User.objects.all(),
                                         widget=forms.HiddenInput())
        class Meta:
            model = Questions
于 2013-06-14T11:14:05.373 回答