Как я могу хранить больше объектов из другого класса в других классах Поле

Я искал свою проблему в документации Django и не смог найти решение. Моя проблема в том, что в Api Pannel я не могу вставить больше объектов из класса "ActorsAndDirectors" в поле "cast" в классе "Movie". Я могу вставить только один. Как трансформировать поле cast, чтобы я мог вставить несколько объектов из класса "ActorsAndDirectors" в класс "Movie"

вот код `

class ActorsAndDirectors(models.Model):
    name = models.CharField(max_length=32, blank=False, null=False)
    surname = models.CharField(max_length=32, blank=False, null=False)
    role = models.CharField(max_length=11, blank=False, null=False)

    def __str__(self):
        return f"{self.name} {self.surname}"


class Movie(models.Model):
    title = models.CharField(max_length=50, blank=False, null=False, unique=True)
    description = models.TextField(max_length=400)
    cast = models.ForeignKey(ActorsAndDirectors, on_delete=models.CASCADE)
    premiere = models.DateField()
    updated = models.DateTimeField()
    slug = models.SlugField()

    def number_of_ratings(self):
        return Rating.objects.filter(movie=self).count()
    
    def avg_rating(self):
        score = 0
        ratings = Rating.objects.filter(movie=self)
        for rating in ratings:
            score +=rating.stars
        if len(ratings) > 0:
            return score/len(ratings)
        else:
            return 0

    def __str__(self):
        return f"{self.title}, ({self.premiere})"

`

Я искал в документации Django какое-нибудь поле со списком, но безрезультатно. Я ищу помощи, как преобразовать поле или, может быть, какое-то другое объяснение моей проблемы

То, что вы ищете, это отношение "Многие ко многим". Где многие актеры и режиссеры могут участвовать во многих различных фильмах.

Я хотел бы дополнить, что при запросе к базе данных она медленнее ищет строки. Возможно, вам стоит проверить эту опцию choices для вашего ролевого поля ActorsAndDirectors.

Это поможет, если в дальнейшем вы попытаетесь отфильтровать режиссеров или актеров. Другим вариантом может быть таблица и FK.

Вернуться на верх