[英]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.