Django многие-ко-многим: получить список категорий из списка статей - PullRequest
1 голос
/ 08 июня 2019

Ради простоты, скажем, у меня есть только 3 модели: Статьи, Категории, Автор.

class Author(models.Model):
    name = models.CharField(max_length='100')
    ...

class Categories(models.Model):
    name = models.CharField(max_length='100')
    ...

class Articles(models.Model):
    name = models.CharField(max_length='100')
    author_id = models.ForeignKey(Author)
    categories = models.ManyToManyField(Categories)
    ...

Я фильтрую список статей по author_id list_article = Articles.objects.filter(author_id=author_id)

У меня вопрос, как мне получить список «Категории» из этой «list_article»?

Спасибо.

1 Ответ

1 голос
/ 08 июня 2019

Вы можете использовать in со списком статей:

Category.objects.filter(articles__in=list_article)

Или сделать присоединение непосредственно к автору:

Category.objects.filter(articles__author_id=author_id)
...