Django - Получение всех объектов поля manytomany, относящихся к определенной модели
У меня есть модели reviews и news, обе имеют отношение manytomany с моделью Category.
Теперь я хочу получить все категории, связанные только с одной из этих двух моделей. Например, чтобы получить все категории, связанные с моделью News, я попробовал запросить базу данных с помощью News.categories.all()
, но получил AttributeError: 'ManyToManyDescriptor' object has no attribute 'objects'
.
Новая модель:
class News(models.Model):
...
categories = models.ManyToManyField("articles.Category", related_name="news")
...
Обзор модели:
class Reviews(models.Model):
...
categories = models.ManyToManyField("articles.Category", related_name="reviews")
...
Вы захотите получить объекты через модель Category. Вы можете фильтровать по связанному имени в модели Category.
Попробуйте Category.objects.filter(reviews__isnull=False)
или Category.objects.filter(news__isnull=False)