2
我有以下型號:Django的註釋問題
class Pick(models.Model):
league = models.ForeignKey(League)
user = models.ForeignKey(User)
team = models.ForeignKey(Team)
week = models.IntegerField()
result = models.IntegerField(default=3, help_text='loss=0, win=1, tie=2, not started=3, in progress=4')
我試圖讓基於斷結果的排名表,但我不知道該如何把它在一個單一的查詢完成。我有興趣爲特定聯盟中的每個用戶計算結果= 1(作爲勝利),0(作爲損失)和2作爲平局)。我能想到的唯一的事情就是做3次獨立的查詢,我對結果進行篩選,然後註釋,像這樣:
Pick.objects.filter(league=2, result=1).annotate(wins=Count('result'))
Pick.objects.filter(league=2, result=0).annotate(losses=Count('result'))
Pick.objects.filter(league=2, result=2).annotate(ties=Count('result'))
有沒有更有效的方式來實現這一目標?
謝謝!
感謝您的回覆,雖然恐怕我不太明白如何使用值將幫助我找到勝利,損失和關係的單個查詢。你介意擴展你的例子多一點? – user417918