模型,执行OR和命令

时间:2014-09-08 22:11:04

标签: python django django-models

我有以下型号:

Class Category(models.Model):
    ....

Class CategoryProduct(models.Model):
    ....
    position  = models.IntegerField(max_length=3)


class Product(models.Model):
    .....

我正在执行以下查询:

return Product.objects.filter(categoryproduct__category=self, active=True) | \
           Product.objects.filter(categoryproduct__category__category=self, active=True)

如何获得按categoryproduct__position排序的职位?

1 个答案:

答案 0 :(得分:0)

你会有更好的时间"连接"您使用Q object instances

查询
Product.objects.filter(Q(categoryproduct__category=self) | Q(categoryproduct__category__category=self), active=True)