【发布时间】:2013-06-14 22:23:28
【问题描述】:
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.Unavailable - left message" 而不是 "3","4" 等。它没有显示任何东西。
如何做到这一点。
谢谢
【问题讨论】:
-
按照 Daniel 说的做了更改,还是不行,我可以从任何人那里得到指导
-
您的代码没有意义。您正在定义
PersonActionsForm,但您不在任何地方使用它。你在你的视图中使用了一个Actions模型,你没有向我们展示。我们将如何帮助您? -
@rantanplan,更新了 models.py 和 PersonActionsForm 用于保存选择
-
1)
action是一个IntegerField,这意味着它可以保存一个整数值。然而,在您的表单中,您将小部件覆盖为多项选择,但它无法保存多个值。 2)filter必须按照丹尼尔所说的那样去。 3)尝试在python解释中运行它(使用get而不是filter)并发布结果。 -
@rantanplan 在控制台中收到此错误 >>> Actions.objects.get(pk=person_id) Traceback(最近一次调用最后):文件“
”,第 1 行,在 NameError: name 'person_id' is not defined "
标签: django django-models django-forms django-templates