我有一个表单,并希望不显示 user 字段。
models.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)
form.py
class QuestionsForm(ModelForm):
class Meta:
model = Questions
widgets = {
'question': TextInput(attrs={'placeholder': 'Add question here'})
}
exclude=('user',)
我尝试排除,但该字段仍然显示。 怎么做??
提前致谢。
答案 0 :(得分:1)
不确定它是否应该有效: 只需做一些分钟检查:
1.exclude应该是Meta类的一部分
2.将从元组排除到列表,(不确定是否有帮助)
3.或者不是排除尝试给出fields =(#some fields names,)
希望这有效..
答案 1 :(得分:0)
在视图中使用此功能:
form.fields['name_of_field'].widget = forms.HiddenInput()
或者您可以通过输入隐藏标记在HTML中处理它:
<input type='hidden'>
答案 2 :(得分:0)
您可以通过这种方式自定义模型表单。
QuestionsForm(ModelForm):
user = forms.ModelChoiceField(queryset=User.objects.all(),
widget=forms.HiddenInput())
class Meta:
model = Questions