Django形式:两个ModelMultipleChoiceFields,相同的模型,不同的查询集,相同的HTML名称

时间:2012-03-09 05:37:21

标签: django django-forms

我需要在Django表单上设置两个独立但相关的ModelMultipleChoiceFields。两个字段使用相同的模型,但使用不同的查询集。我需要将它们分开,以便我可以在不同的地方渲染它们,但我需要两者之间的HTML名称相同,以便POST变量名称匹配。

我能得到的最接近的是添加具有不同属性名称的字段 - 但这留下了两个POST变量而不是一个。我希望将&标签和& more_tags选项合并到&标签中。

Forms.py:

from django.forms import ModelMultipleChoiceField, CheckboxSelectMultiple
from myproject.models import Tag

class MyForm(forms.form):
    tags = ModelMultipleChoiceField(queryset=Tag.objects.qs_a(), widget=CheckboxSelectMultiple)
    more_tags = ModelMultipleChoiceField(queryset=Tag.objects.qs_b(), widget=CheckboxSelectMultiple)

模板:

{{ form.tags }}
{{ form.more_tags }}

我已经采用了一些不同的方法但是已经卡住了 - 我尝试将查询集合并到一个字段中并在模板中迭代它们,但{{form.tags.field.choices}}不处理渲染。我也试过通过表格干净的方法,但迷路了。

任何人都可以帮我指出正确的方向吗?提前谢谢。

0 个答案:

没有答案