以人类可读的格式django显示表单数据
models.py以人类可读的格式django显示表单数据,django,django-models,django-forms,django-templates,django-views,Django,Django Models,Django Forms,Django Templates,Django Views,models.py PERSON_ACTIONS = ( ('1', '01.Allowed to rest and returned to class'), ('2', '02.Contacted parents /guardians'), ('3', '02a.- Unable to Contact'), ('4', '02b.Unavailable - left message')) class Actions(model
PERSON_ACTIONS = (
('1', '01.Allowed to rest and returned to class'),
('2', '02.Contacted parents /guardians'),
('3', '02a.- Unable to Contact'),
('4', '02b.Unavailable - left message'))
class Actions(models.Model):
reportperson = models.ForeignKey(ReportPerson)
action = models.IntegerField('Action type', choices=PERSON_ACTIONS)
forms.py
class PersonActionsForm(forms.ModelForm):
action = forms.MultipleChoiceField(widget=forms.CheckboxSelectMultiple(), required=False)
class Meta:
model = Actions
fields = ['action']
模板
{{actionform.get_action_display}}
这不是以人类可读的格式显示表单数据。它也不是从db中呈现整数值。我想您需要:
class PersonActionsForm(forms.ModelForm):
class Meta:
model = Actions
fields = ('action',)
widgets = {
'action': forms.CheckboxSelectMultiple(),
}
参见
如果不希望以以下形式呈现实例中的值:
{{actionform.instance.get_action_display}}
请参阅@DominicRodger,不显示任何数据。给出的示例是模型中的charField,我在表单中使用integerField和multichoiceField。很抱歉,lalo,我正在将表单实例保存在db中作为integer,我希望以可编辑格式显示数据。为什么不使用charField?因为我们正在表单中维护选择,在编码为保存在int.char中的视图中,未使用字段。draganHR,即使值是其格式,它也显示为无。