@daniapog

Как вывести связь manytomany в rest api django?

Добрый вечер, у меня есть 2 модели

class Person(models.Model):
    name = models.CharField(max_length=50)
    def __str__(self):
        return self.name 

class Film(models.Model):
    name = models.CharField(max_length=50)
    year = models.CharField(max_length=50, default=None)
    caption = models.CharField(max_length=50, default=None)
    person = models.ManyToManyField(Person)
    def __str__(self):
        return self.name


С этими моделями я могу вывести фильм и актеров в нем, тк в модели Film есть поле person со связью
Получается такой апи
{
    "data": {
        "name": "Терминатор",
        "person": [
            {
                "id": 1,
                "name": "Актер1"
            },
            {
                "id": 2,
                "name": "Актер2"
            }
        ]
    }
}


class FilmSerializers(serializers.ModelSerializer):
    class Meta:
        model= Film
        fields=('id','name')

class FilmDetailSerializers(serializers.ModelSerializer):
    person = PersonSerializers(many=True)
    class Meta:
        model= Film
        fields=('name','person')


Мне хотелось бы чтоб еще я мог смотреть фильмы, в которых снимался определенный актер, как это сделать?
  • Вопрос задан
  • 464 просмотра
Решения вопроса 1
@daniapog Автор вопроса
Просто добавил related_name
и указал его в сериалайзере
спасибо
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы