У меня есть эти модели:
class Notebook(models.Model):
title = models.CharField(max_length=200)
class Tag(models.Model):
name = models.CharField(max_length=63)
notebooks = models.ManyToManyField(Notebook, related_name='tags')
, и я пытаюсь найти все ноутбуки, которые имеют два конкретных тега (я могу вывести остальную часть запроса, если смогу заставить работать два тега)
Я определяю запрос для двух тегов с помощью:
query = Q(name__iexact='dna') | Q(name__iexact='notebook')
и могу отфильтровать соответствующие теги с помощью:
Tag.objects.filter(query)
Но я ищу все записные книжки, которые имеют эти теги. В SQL я бы сделал JOIN, но метод ORM select_related
явно не работает с ManyToManyField