0
我有這兩款車型Django的許多一對多查詢滿足特定條件
class Genre(TimeStampAwareModel):
genre = models.CharField (max_length = 255, blank = False)
parent = models.ForeignKey ('self', null=True, blank=True, related_name = "childs")
..
class Track(TimeStampAwareModel):
....
genre = models.ManyToManyField(Genre)
我作爲流派的輸入列表[流行,搖滾,..],因爲流行音樂和搖滾有孩子太流派。現在我想篩選所有曲目滿足以下條件
(G1parent OR G1child1或G1child2 OR .....)AND(G2parent或G2child1或G2child2 OR .....)
def get_genre_tracks(list_genre):
....
...
return tracks
這裏G1parent是Pop和G2parent是Rock,我怎麼得到這個?尋找一個優雅的解決方案。
謝謝!
不,我想,有岩石或它的子類型和POP或子類型的所有曲目?希望你明白我的問題 – Ahsan 2012-02-28 15:52:23
'genre__genre__in = ['Rock','Pop']'會得到所有曲目有Rock或Pop,但我想AND AND – Ahsan 2012-02-28 15:58:17
我想要確切的在你最後的編輯,但我有父母名單流派。我怎麼能在一行中做到這一點? – Ahsan 2012-02-28 16:19:54