我有一个经常性的类别模型(每个类别可以有一个父类别),我也有一个产品模型与外键“核心类别”如下。是否有可能查询顶级类别(非核心)内的所有产品?你知道吗
例如,我的分类树是:
---Sales (main) (parent = None)
---Crm (core) (parent = Sales)
---Marketing Automation (core) (parent = Sales)
---AI (parent = Sales)
---BOTS (core) (parent = AI)
---NLP (core) (parent = AI)
我想查询“Sales”或“AI”中的所有产品
型号:
class Category(models.Model):
name = models.CharField(max_length=255)
link = models.URLField(max_length=255, null=True, blank=True)
core = models.BooleanField()
main = models.BooleanField()
parent = models.ForeignKey('self', on_delete=models.SET_NULL,
null=True, default=None)
def __str__(self):
return self.name
class Product(models.Model):
name = models.CharField(max_length=255)
link = models.URLField(max_length=255, null=True, blank=True)
category = models.ForeignKey(Category, on_delete=models.SET_NULL,
null=True, default=None)
def __str__(self):
return self.name
谢谢你的帮助!你知道吗
编辑:对于这种特殊情况,我认为文件夹中的文件是最好的等价物。单个文件(产品)只知道其父目录(核心类别),但此父目录可以是其父目录的子文件夹。我想为子目录中的所有文件(产品)查询顶级文件夹(类别)。你知道吗
首先,在
Category
实例上使用反向外键查找category_set
获取所有子类别。你知道吗解决方案:
相关问题 更多 >
编程相关推荐