0

我有这两个模型

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并且子类别显示为复选框,就像我想要的那样。唯一的问题是,我想根据各自的父类别列出子类别复选框,但不知道该怎么做。任何人都可以帮助我如何做到这一点

4

1 回答 1

0

我建议使用 ManyToMany 字段而不是 ForeignKey in class SubCategory

于 2012-11-29T20:06:50.453 回答