【发布时间】:2018-05-18 13:12:30
【问题描述】:
我需要制作一个带有性别(男性和女性)的选择器,以及每种类型的相应计数。
例如,如果我的数据库中有 4 个男性和 8 个女性,我需要一个带有选项的选择标签
- “选择性别”
- “男 (4)”
- 《女(8)》
在我的Form 课程中
gender = forms.ModelChoiceField(
queryset=Gender.objects.all().annotate(counter=Count('user')),
required=False,
label="Gender"
)
而且我不知道如何呈现这个选择元素。如果我使用{{ form.gender }},我什至无法显示选项。我得到Error binding parameter 0 - probably unsupported type。可能是 SQLite 问题?无论如何我都会使用 PostgreSQL 作为我的数据库。
有什么建议吗?
编辑:我需要这样的东西,在每种情况下都有近 10 个表单字段和可变数量的选项
【问题讨论】:
-
您应该使用
ChoiceField而不是ModelChoiceField,因为它呈现从查询集派生的元素检查此处docs.djangoproject.com/en/1.11/ref/forms/fields/… -
@VaibhavMule
ChoiceField不支持queryset,我需要用数据库中的值填充它。还有其他想法吗?
标签: django forms annotations