簡體   English   中英

Django注釋多個字段

[英]Django annotate more than one field

理想情況下,我想創建一個包含多個字段的注釋。 這是代碼:

#the model
class Referral(models.Model):
     product = models.ForeignKey(Product)
     region = models.ForeignKey(Region)
     owner = models.ForeignKey(User, related_name='owner')
     receiver = models.ForeignKey(User, related_name='receiver')
     company_name = models.CharField(max_length=255)
     note = models.TextField(max_length=5000, blank=True)
     timestamp = models.DateTimeField(auto_now_add=True)


 #I know how to get either owner or recipient, but how to annotate owner + recipient combined?
 users = User.objects.annotate(num_referrals=Count('owner')).order_by('-num_referrals')[:3]

有沒有一種優雅的方法可以做到這一點?

嘗試這個

users = User.objects \
        .extra(select={'total': 'Count(owner)+Count(receiver)'}) \
        .order_by('-total')[:3]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM