我试图建立基于2个模型的多级“选择”。Djando多级“选择”字段
第一种模式 '集团' 第二种模式 '类别'
我希望看到 '选择' 是这样的:
<select>
<optgroup label="Swedish Cars">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
</optgroup>
<optgroup label="German Cars">
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</optgroup>
</select>
self.fields["category"].choices = select
我建变量“选择'使用下一个代码:
group=Group.objects.all()
for i in group:
if len(select)<=0:
select=[(i.name)]
else:
select.append(i.name)
for n in Category.objects.filter(maingroup_id=i.id):
select.append((str(n.id), n.name),)
print(select)
'Swedish Cars', ('volvo', 'Volvo'), ('saab', 'Saab'), 'German Cars',('mercedes', 'Mercedes'), ('audi', 'Audi')
但在价值“选择”变量不与下面的代码工作:
('Swedish Cars', (('volvo', ' Volvo'), ('saab', 'Saab'))),('German Cars', (('mercedes', 'Mercedes'), ('audi', 'Audi')))
纠正你的代码片段,您的选择构建代码里面有什么不对的压痕,也在里面打印结果有缺失的撇号/引号。没有,我不知道如果你的代码是错误的,或者如果你只是没有正确地粘贴在这里 – GwynBleidD
我纠正了撇号/报价 – Oleg