gpt4 book ai didi

python - 如何在 models.py django 中添加子类别

转载 作者:行者123 更新时间:2023-12-01 01:48:44 25 4
gpt4 key购买 nike

我正在尝试创建一个博客,其中一个类别可能有一些子类别。我在 models.py 中这样做了

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

def __str__(self):
return f"{self.title}"




class SubCategory(models.Model):
category = models.ForeignKey(Category, on_delete=models.CASCADE)
title = models.CharField(max_length=50, unique=True)

def __str__(self):
return f"{self.title}"

但我认为为同一任务创建两个不同的类是不正确的。那么还有其他方法可以做到吗?谢谢。

最佳答案

您可以尝试使用自引用外键。

class Category(models.Model):
title = models.CharField(max_length=50, unique=True)
parent_category = models.ForeignKey('self', related_name='sub_category')

def __str__(self):
return f"{self.title}"

然后它会像这样工作:

 a_category = Category.objects.create(title='Parent category')
Category.objects.create(title='subcategory', parent_category=a_category)

要获取所有子类别,您需要执行以下操作:

a_category.sub_category.all()

关于python - 如何在 models.py django 中添加子类别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50951606/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com