无法在模板中显示所选的表单选项

时间:2013-06-14 22:23:28

标签: django django-models django-forms django-templates

forms.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 PersonActionsForm(forms.ModelForm):

    action = forms.MultipleChoiceField(widget=forms.CheckboxSelectMultiple(), choices=PERSON_ACTIONS, required=False)

views.py

def person(request):
    action= Actions.objects.filter(reportperson=person_id)
    return render(request, 'index.html',
             {
              'action':action,
                 })

models.py

class Actions(models.Model):
    """Action list to a report"""
    reportperson = models.ForeignKey(ReportPerson)
    action =  models.IntegerField('Action type',choices=PERSON_ACTIONS)

模板

{{ action.get_action_display }}

来自django doc的选择字段,我这样做了但它没有用。在数据库中,它们的值保存为“3”,“4”。我希望它会显示像“02a”这样的值。 - 无法联系“,”02b。不可用 - 留言“而不是”3“,”4“等。它没有显示任何东西。

如何使这项工作。

由于

1 个答案:

答案 0 :(得分:0)

filter始终返回QuerySet,而不是模型实例。您应该使用get代替。