我有这两个模型
class Event(models.Model):
event_name=models.CharField("Event Name",max_length=255)
category = models.ManyToManyField(SubCategory)
def __unicode__(self):
return self.event_name
class Category(models.Model):
category_name= models.CharField(max_length=255)
def __unicode__(self):
return self.category_name
class SubCategory(models.Model):
parent_category=models.ForeignKey(Category)
category_name=models.CharField(max_length=255)
def __unicode__(self):
return self.category_name
在我的form.py
中class EventForm(forms.ModelForm):
class Meta:
model=Event
def __init__(self, *args, **kwargs):
super(EventForm, self).__init__(*args, **kwargs)
self.fields["category"].widget = CheckboxSelectMultiple()
self.fields["category"].queryset = SubCategory.objects.all()
我创建了一个模型EventForm
的表单,子类别显示为我想要的复选框。唯一的问题是,我想根据各自的父类别列出子类别复选框,但不知道如何做到这一点。任何人都可以帮我解决这个问题吗
答案 0 :(得分:0)
我建议在class SubCategory
中使用ManyToMany字段而不是ForeignKey。