2017-03-22 39 views
0

我有兩個型號查詢多對多在Django給我複製結果

class Tag(models.Model): 
    key = models.CharField(max_length=200) 

class Post(models.Model): 
    name = models.CharField(max_length=200) 
    tags = models.ManyToManyField(Tag) 

餘米試圖篩選出與職位的標籤列表。可以說標籤heatwarm。我會在我的api函數中獲得一個標籤列表(['heat', 'warm'])。我想過濾所有包含鍵在列表中的標籤的Post數據。我嘗試了很多類型,並沒有得到正確的輸出。有沒有辦法在單個查詢上做到這一點?

+0

你能告訴什麼輸出你除了?我不知道你需要什麼。 – Wilfried

回答

2

所有帖子與此標記鍵等於heatwarm

Post.objects.filter(tags__key_in=['heat', 'warm']) 

添加不同的,以避免重複:

Post.objects.filter(tags__key_in=['heat', 'warm']).distinct()