我需要在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}}不处理渲染。我也试过通过表格干净的方法,但迷路了。
任何人都可以帮我指出正确的方向吗?提前谢谢。