詹戈。分类查询

2024-04-25 04:07:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个类别模型定义为:

class Category(models.Model):
    number = models.PositiveIntegerField()
    name = models.CharField(max_length=200)

    parent = models.ForeignKey('self', blank=True, null=True)

    def __unicode__(self):
        name = unicode(self.name)
        if self.parent:
            name =  unicode(self.parent) + u'-->' + name
        return name

类别最多可以有3个级别的父级(类别1->;类别2->;类别3->;类别4)

我需要查看我的数据库中的所有项目,但排除基本类别14当且仅当位置==易趣。你知道吗

我用的是:

    query = Q(category__number=14) & ~Q(location__name="EBAY")
    queryset.exclude(query)

如果项目的类别为14->;15->;42->;16,则返回的类别号为16。我需要第一类的水平,但我不知道有多少家长。可以没有,也可以最多有3个家长。你知道吗

我将如何编辑查询以通过类别树进行回溯?你知道吗


Tags: 项目name模型gtselftruenumber定义