django - 如何将表单的 ModelMutiplechoiceField 引用到 Django 中的 foreignKey?
问题描述
像这样考虑我的模型:
class Major(models.Model):
major_name = models.CharField(max_length=100, default='', null=False)
is_active = models.BooleanField(default=True, null=False)
def __str__(self):
return self.major_name
class Minor(models.Model):
major_name = models.ForeignKey(Major, on_delete=models.CASCADE)
minor_name = models.CharField(max_length=100, default='', null=False)
is_active = models.BooleanField(default=True, null=False)
def __str__(self):
return self.minor_name
然后用这个表格:
class PreferredMinorForm(forms.Form):
preferred_minor= forms.ModelMultipleChoiceField(
queryset=Minor.objects.all(),
widget=forms.CheckboxSelectMultiple,
required=False
)
我可以通过次要循环显示在模板上。但是我如何循环遍历主要的次要?
目前,我的代码如下所示:
看法:
minor = PreferredMinorForm()
context['minor_list'] = minor
context['major_list'] = Major.objects.filter(is_active=True).order_by('id')
模板:
{% for major in major_list %}
{{major}}
{% for minor in minor_list %}
# How to if statement here?
{% endfor %}
{% endfor %}
如果我测试未成年人,我得到了这个:
<li><label for="id_minor_45"><input type="checkbox" name="minor" value="46" id="id_minor_45">DATA</label></li>