如何制作一个django子类

时间:2017-08-04 19:15:04

标签: python django models

如何为django创建子类别。 我想要这样的问题 - >年 - >数学

这是我的模特

    class Category(models.Model):
        name = models.CharField(max_length=50, unique=True)

        def __unicode__(self):
            return self.name

    class PastQuestion(models.Model):
        category = models.ForeignKey(Category)
        subject = models.CharField(max_length=128)
        question = models.TextField()
        posted_by = models.CharField(max_length=50)

        def __unicode__(self):
            return self.subject`

2 个答案:

答案 0 :(得分:1)

为自己创建一个外键:

class Category(models.Model):
   ...
   parent_category = models.ForeignKey('self', null=True, blank=True)

然后,您可以将任何现有的Category实例指定为该实例的parent_category。此外,如果您想查找给定Category实例的所有子类别,您可以执行以下操作:

subcategories = Category.objects.filter(
    parent_category__id=target_category.id)

答案 1 :(得分:0)

class Category( models.Model ):
Title    = models.CharField( max_length=255, blank=True, null=False, ) 
parents = models.ForeignKey('self',limit_choices_to = {'parents__isnull': True}, on_delete=models.CASCADE,default=1, blank=True, null=True, )

尝试