我试图在Django中创建一个无限嵌套的类别树。
class Category(models.Model):
ParentCategory = models.ForeignKey(Category, blank=True)
Name = models.CharField(max_length=255)
这里的想法是没有ParentCategory
的所有类别都是主要类别(级别0)。所有来自0级的ParentCategory都是1级,依此类推。
这里唯一的问题是我无法在其内部引用Category
。显然,返回的错误是:{3}的NameError: name 'Category' is not defined
。
我该如何解决这个问题?有可能吗?
答案 0 :(得分:4)
由于在定义字段时尚未创建模型,因此您可以使用self
来引用相同的模型:
class Category(models.Model):
parent = models.ForeignKey('self', blank=True, null=True)
name = models.CharField(max_length=255)