我如何创建一个名为Category的Django模型,它可以与自身相关(以创建子类别)

use*_*721 5 django django-models

我想创建一个Category类,它可能有也可能没有子类,或者它本身可能是也可能不是另一个Category对象的子类.

这不起作用,但它让我知道我正在尝试做什么:

class Category(models.Model):  
    about = models.TextField(blank=True)
    parent_cat = models.ForeignKey(Category, blank=False, null=True)
    slug = models.SlugField(unique=True, help_text = SLUG_HELP)    
    title = models.CharField(max_length = 26, unique=True)
Run Code Online (Sandbox Code Playgroud)

...

现在有用的是我有一个可以与类别相关的SubCategory类.但是,我想通过允许类别为自己的子类别来使代码更灵活.然后我可以拥有无​​限数量的父母/子女.有人可以建议我怎么做到这一点?

Dan*_*man 8

您对子类和继承的引用令人困惑.你有一个标准的递归关系,通过ForeignKey工作正常.您唯一需要做的就是按照文档中的描述定义FK :

parent_cat = models.ForeignKey('self', blank=False, null=True)
Run Code Online (Sandbox Code Playgroud)

关于您发布的代码还有什么"不起作用"?