3
我正在構建一個小型任務管理器,所有任務都有標籤。我需要選擇所有有幾個標籤的任務。目前,我做:Django ManyToMany關係「包含」聲明
tasks = Task.objects.all().filter(labels__in=label_list).distinct()
返回的所有任務,其中至少一個標籤也是label_list,但我只需要的是具有在label_list所有標籤的任務。
更精確的例子:如果我路過[「1」,「2」]作爲label_list,我不希望所有任務具有或者被退回標籤1個OR
標籤2(這就是正在發生),但希望返回具有標籤1 AND
標籤2的所有任務。
我想這標籤的任務包含標籤列表
的關係任務標籤是多對多:
class Task(models.Model):
....
labels = models.ManyToManyField(Label, null=True, blank = True)
....
相似的問題[這裏](http://stackoverflow.com/questions/13270513/django-manytomany-filter-matching-on-all-items-in-a-list)。選定的答案會適合你,雖然很拗口,但它很有創意。 – dgel 2014-10-08 22:57:17