0

私はこの2つのモデルを持っています

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

私のフォームで.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

ForeignKey in ではなく、ManyToMany フィールドを使用することをお勧めしclass SubCategoryます。

于 2012-11-29T20:06:50.453 に答える