在多对多关系中是不同的

时间:2010-09-29 07:46:57

标签: python django django-models

class Order(models.Model):
    ...

class OrderItem(models.Model)
    order = models.ForeignKey(Order)
    product = models.ForeignKey(Product)
    quantity = models.PositiveIntegerField()

我需要做的是获得只有一个订单商品的订单。如何使用QuerySet对象编写它(不编写SQL)?

1 个答案:

答案 0 :(得分:3)

最简单的方法是使用Count aggregation

from django.db.models import Count
Order.objects.annotate(count = Count('orderitem__id')).filter(count = 1)