Django 多选表单与父类别
我有一个简单的模型,长得像这样:
class Neighborhood(models.Model):
name = models.CharField(max_length=255)
borough = models.ForeignKey(Borough)
def __unicode__(self):
return self.name
在我的forms.py文件里,我有一个简单的表单,里面有一些选项:
class SearchForm(forms.Form):
neighborhood = forms.ModelMultipleChoiceField(required=False, queryset=Neighborhood.objects.all(), widget=CheckboxSelectMultiple())
这样做没问题,它会列出我Neighborhood模型里的所有选项。看起来大概是这样的:
- Lower East Side
- Times Square
- East Village
- West Village
...等等
不过,我想在列表中显示每个社区的父类别,也就是区。希望的效果是这样的:
布鲁克林
- 威廉斯堡
- DUMBO
- ...
- 曼哈顿
- Lower East Side
- Times Square
- West Village
- East Village
- 皇后区
- ...
我试着把这两个不同的对象调用出来,并把它们合并成一个自定义列表,但我无法通过查询集传递这个,因为它给了我一个AttributeError,提示没有'all'可用。
有没有其他方法可以做到这一点呢?