我一直试图使我的django表单的外键只读,我正在创建一个网络应用程序与系统控制,我不希望某些用户编辑提交的字段
class ApproveForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(ApproveForm, self).__init__(*args, **kwargs)
# Filter the queryset for the 'category' field to only include active categories
self.fields['category'].queryset = Category.objects.filter(status='active')
# Filter the queryset for the 'category' field to only include active categories
self.fields['location'].queryset = Location.objects.filter(status='active')
self.fields['location'].widget.attrs['readonly'] = True
class Meta:
model = Request
fields = ('item','category','location','quantity','comments' )
widgets = {
'item':forms.Select(attrs={
'class':'form-control',
}),
'category':forms.Select(attrs={
'class':'form-control',
}),
'location':forms.Select(attrs={
'class':'form-control',
}),
'quantity':forms.NumberInput(attrs={
'class':'form-control', 'min':'0', 'readonly':'readonly'
}),
'comments': forms.Textarea(attrs={
'rows':4,'cols':5, 'class':'form-control'
})
}
字符串
它不工作,我已经尝试使用隐藏,它隐藏了所有的整体价值观离开标签显示
1条答案
按热度按时间k4emjkb11#
如果你只是想以只读方式向用户显示现有对象的值,你可以从表单中删除字段,直接通过表单示例访问,就像这样。
1.从表单中删除字段
fields =('item','category','quantity','comments')
1.通过示例访问html中的字段值。
联系我们