Как добавить серии и эпизоды на сайт Django Movies?

Я создал сайт фильмов, теперь я хочу создать models, где я могу выбрать Сериал, а затем добавить Серии и Эпизоды. Например, добавьте сериал Викинги, а затем я хочу добавить 1 сезон и 1 серию. Как лучше поступить? Вот мои модели

class Serial(models.Model):
    title = models.CharField(max_length=100)
    slug = models.SlugField(max_length=255, unique=True, db_index=True, verbose_name="URL")
    title_english = models.CharField(max_length=100)
    descritpion = models.TextField(max_length=1000)
    images = models.ImageField(upload_to="movies")
    category = models.CharField(choices=CATEGORY_CHOICES, max_length=10)
    language = models.CharField(choices=LANGUAGE_CHOICES, max_length=30)
    status = models.CharField(choices=STATUS_CHOICES, max_length=100)
    year_of_production = models.TextField(max_length=1000)
    view_count = models.IntegerField(default=0)
    


    def get_absolute_url(self):
        return reverse('post', kwargs={"post_slug_serial": self.slug})

    def __str__(self):
        return self.title

я думаю, что мне нужно Django Many to many relationship, но как? Может ли кто-нибудь помочь мне? Как лучше всего создать эту задачу?

Вам потребуется ForeignKey Relationship, так как серия будет иметь Many Seasons, но одни и те же Seasons не будут использоваться для Many различных серий.

Например: Вам не понадобится первый сезон Игры престолов для другого сериала, кроме Игры престолов

.

Ваши модели будут выглядеть следующим образом:

class Serial(models.Model):
    [..fields..]

class Season(models.Model):
    serial = models.ForeignKey(Serial, on_delete=models.CASCADE)

class Episode(models.Model):
    season = models.ForeignKey(Season, on_delete=models.CASCADE)
Вернуться на верх