我試圖根據(jù)foreignkey objects屬性上的字段查詢模型。我有以下型號:
class Song(models.Model):
name = models.CharField(max_length=20)
limit = models.IntegerField()
class Recording(models.Model):
song = models.ForeignKey(Song, on_delete=models.CASCADE)
status = models.CharField(
max_length=1,
choices=STATUS_CHOICES,
default=OPEN
)
我想查詢那些狀態(tài)為“打開”且計數(shù)超過“限制”(歌曲上的字段)的錄制的歌曲。通過查看django聚合文檔,我嘗試了以下方法:
# View
get(self):
songs_count = Count('recording', filter=Q(recording__status='O'))
songs = Song.objects.annotate(songs_count=songs_count)
results = songs.filter(songs_count__gt=< each song.limit... >)
有人能指出如何建立這樣一個查詢的方法嗎?我非常感謝所有的反饋。
您可以使用
F
對象[Django-doc]來引用字段,因此: