2010-09-29 57 views
0
class Order(models.Model): 
    ... 

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

我需要做的是獲得只有一個訂單項目的訂單。我如何使用QuerySet對象編寫它(無需編寫SQL)?不同於多對多的關係

回答

3

要做到這一點是使用了Countaggregation最簡單的方法:

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