123456789101112131415161718192021222324252627282930313233343536373839 |
- from django.db import models
- from django_extensions.db.models import TimeStampedModel
- from django.utils.translation import gettext_lazy as _
- BNULL = {"blank": True, "null": True}
- class Series(TimeStampedModel):
- name = models.CharField(max_length=255)
- overview = models.TextField(**BNULL)
- tagline = models.TextField(**BNULL)
- class Video(TimeStampedModel):
- class VideoType(models.TextChoices):
- UNKNOWN = 'U', _('Unknown')
- TV_EPISODE = 'E', _('TV Episode')
- MOVIE = 'M', _('Movie')
- # General fields
- video_type = models.CharField(
- max_length=1,
- choices=VideoType.choices,
- default=VideoType.UNKNOWN,
- )
- title = models.CharField(max_length=255, **BNULL)
- overview = models.TextField(**BNULL)
- tagline = models.TextField(**BNULL)
- run_time = models.CharField(max_length=8, **BNULL)
- run_time_ticks = models.BigIntegerField(**BNULL)
- year = models.IntegerField()
- # TV show specific fields
- tv_series = models.ForeignKey(Series, on_delete=models.DO_NOTHING, **BNULL)
- season_number = models.IntegerField(**BNULL)
- episode_number = models.IntegerField(**BNULL)
- tvdb_id = models.CharField(max_length=20, **BNULL)
- imdb_id = models.CharField(max_length=20, **BNULL)
- tvrage_id = models.CharField(max_length=20, **BNULL)
|