У меня любопытная проблема.
У меня 3 объекта.Все таки
class Articles(models.Model):
owner = models.ForeignKey(Author)
tags = models.ManyToManyField('Tag')
class Tag(models.Model):
name = models.CharField(max_length=255)
и так у меня 3 статьи.Со всеми одинаковыми тегами: 'tag1' и 'tag2'
И у меня есть запросы
actionsAll = Articles.objects.filter((Q(tags__name__exact="tag1") | Q(tags__name__exact="tag2"))).distinct()
Это дает мне все мои статьи.Он будет возвращать 6 статей без различных (), поскольку он будет собирать каждую статью 2 раза, поскольку у них есть оба тега.
Однако с этим запросом:
actionsAll = Articles.objects.filter((Q(tags__name__exact="tag1") & Q(tags__name__exact="tag2"))).distinct()
Это не дает мне статей.Поскольку статьи содержат оба тега, он должен вернуть их все, не так ли?