【发布时间】:2012-10-17 00:49:35
【问题描述】:
假设我有以下模型:
class Position(models.Model):
name = models.CharField()
class PositionStats(models.Model):
position = models.ForeignKey(Position)
averageYards = models.CharField()
averageCatches = models.CharField()
class PlayerStats(models.Model):
player = models.ForeignKey(Player)
averageYards = models.CharField()
averageCatches = models.CharField()
class Player(models.Model):
name = models.CharField()
position = models.ForeignKey(Position)
我想使用 django 的 ORM 执行等效的 SQL 查询:
SELECT *
FROM PlayerStats
JOIN Player ON player
JOIN PositionStats ON PositionStats.position = Player.position
我将如何使用 django 的 ORM 来做到这一点?该查询并不完全正确,但我的想法是我想要一个使用 django 的 ORM 的单一查询,它根据玩家的位置给我 PlayerStats 与 PositionStats 连接。
【问题讨论】:
-
所有答案都是针对 2 个表连接,问题是仅使用 Django ORM 连接 3 个表。
标签: python database django postgresql orm