Django - 检索与特定模型相关的所有manytomany字段对象

Django - Retrieve all manytomany field objects related to a specific model

我有我的模型 reviewsnews,它们都与 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.objects.filter(reviews__isnull=False)Category.objects.filter(news__isnull=False)