Giả sử tôi có các mô hình sau:Làm cách nào để bạn tham gia hai bảng trên trường khóa ngoài bằng cách sử dụng django ORM?
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)
Tôi muốn thực hiện các truy vấn SQL tương đương sử dụng ORM django của:
SELECT *
FROM PlayerStats
JOIN Player ON player
JOIN PositionStats ON PositionStats.position = Player.position
Làm thế nào tôi có thể làm điều đó với ORM django không? Truy vấn không chính xác, nhưng ý tưởng là tôi muốn có một truy vấn duy nhất, sử dụng ORM của django, cung cấp cho tôi PlayerStats
đã tham gia với PositionStats
dựa trên vị trí của người chơi.
OP đề cập cụ thể "Tôi muốn thực hiện truy vấn SQL tương đương bằng cách sử dụng ORM của django". Câu trả lời này cung cấp cách SQL thô để thực hiện nó, mà không cần sử dụng ORM. – niagr