Как я могу хранить больше объектов из другого класса в других классах Поле
Я искал свою проблему в документации 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.