1
class Game(models.Model):
total_players = models.IntegerField(max_length=10)
created_on = models.DateTimeField(auto_now_add=True)
updated_on = models.DateTimeField(auto_now=True)
class Players(models.Model):
game = models.ForeignKey(Game, related_name='players')
name = models.CharField(max_length=10, verbose_name="Player Name")
created_on = models.DateTimeField(auto_now_add=True)
updated_on = models.DateTimeField(auto_now=True)
class Score(models.Model):
game = models.ForeignKey(Game)
name = models.ForeignKey(Players, related_name='scores')
score = models.IntegerField(max_length=10)
created_on = models.DateTimeField(auto_now_add=True)
updated_on = models.DateTimeField(auto_now=True)
如何用Django模型編寫此查詢?如何編寫Django模型以從多個表中獲取記錄?
select p.name, sum(s.score) as total_score
from game g, players p, score s
where g.id=17 and g.id = p.game_id and p.id = s.name_id
group by p.name
非常感謝您的幫助提前。
是的,我知道關係沒有完全正常化。對於這個db結構,每個玩家只存在於單一遊戲中我正在學習django模型加入和東西,所以我開始作爲1NF/2NF。 https://github.com/patelanuj28/black3_score_board – user1351899
查詢至少是否適合你?規範化通常是一個好主意,但只要你考慮到可能在沒有它的情況下可能引入的模糊性,它就不是必須的。 –