谢邀请
1。在form类里建字段category
2。在__init__里获取所有choice=cc
3。对cc进行树状排序,递归,深度优先搜索,得到bb
4。choices属性赋值
应该还有其他做法,sort_dfs自己试试实现吧
class xxx(forms.Form):
category = forms.ChoiceField(label=u'选择分类',required=False)
def __init__(self, request, *args, **kwargs):
super(xxx, self).__init__(*args, **kwargs)
cc=Category.objects.all()
bb=sort_dfs(cc)
self.fields['category'].choices = bb