0

在我的应用程序中,我在表单中保留了一些选择。选择是复选框输入,用户可以单击并保存选择。在数据库中保存的选择存储为整数,如 1、2、3。如何从数据库中查询保存的值并将其作为相应的选项显示在模板中。

表格.py

OPTIONS = (
    ('1', 'Today'),
    ('2', 'This Week'),
    ('3', 'This Month'),
    ('4', 'This Year'),
    ('5', 'All'),
 )

class ReporForm(forms.ModelForm):
    optons = forms.ChoiceField(widget=forms.Select(), choices=OPTIONS,required=False, initial=0)

模板

{{ reportform.as_p}}

在这里,如果用户选择“本周”作为他们的选项,那么在数据库中“本周”“2”的值将被保存。

通常,如果我从表中查询数据,它会将值呈现为“2”。但我希望它在模板中显示“本周”。我没有看到任何这样的教程或博客。

我不知道如何在 Django 中做到这一点。

4

1 回答 1

4

为了在 django 中检索字典的值,可以使用以下语法:

ReporForm.get_optons_display()

例如,如果您想检查数据库查询是“全部”还是键“5”,您可以简单地执行以下操作:

if ReporForm.get_optons_display() == 'ALL':
    #do something

Django 文档

示例摘录:

视图.py

    #Query your database to retrieve your instance of 'ReporForm'
    #I will assume there is a primary key of some type (Reportcode)
    foo = ReporForm.objects.get(ReportCode = 1234)

#Pass foo to the context
context = {'foo':foo}
#Send this context to your render_to_response so it goes to template

报表.html

<b>You have selected the option :</b> '{{ foo.get_optons_display }}'
于 2013-06-14T14:03:22.260 回答