Как добавить серии и эпизоды на сайт 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)