Changeset View
Changeset View
Standalone View
Standalone View
films/models/films.py
| from django.contrib.auth.models import User | from django.contrib.auth.models import User | ||||
| from django.db import models | from django.db import models | ||||
| from django.urls import reverse | from django.urls import reverse | ||||
| from django.utils.text import slugify | from django.utils.text import slugify | ||||
| from static_assets.models import StorageLocation | |||||
| from common import mixins | from common import mixins | ||||
| from common.upload_paths import get_upload_to_hashed_path | from common.upload_paths import get_upload_to_hashed_path | ||||
| class FilmStatus(models.TextChoices): | class FilmStatus(models.TextChoices): | ||||
| in_development = '0_dev', 'In Development' | in_development = '0_dev', 'In Development' | ||||
| in_production = '1_prod', 'In Production' | in_production = '1_prod', 'In Production' | ||||
| released = '2_released', 'Released' | released = '2_released', 'Released' | ||||
| class Film(mixins.CreatedUpdatedMixin, models.Model): | class Film(mixins.CreatedUpdatedMixin, models.Model): | ||||
| storage_location = models.OneToOneField(StorageLocation, on_delete=models.PROTECT) | |||||
| title = models.CharField(unique=True, max_length=512) | title = models.CharField(unique=True, max_length=512) | ||||
| slug = models.SlugField(unique=True, blank=True) | slug = models.SlugField(unique=True, blank=True) | ||||
| description = models.TextField() | description = models.TextField() | ||||
| description.description = 'Description consisting of a few sentences.' | description.description = 'Description consisting of a few sentences.' | ||||
| summary = models.TextField() | summary = models.TextField() | ||||
| summary.description = 'Summary consisting of multiple paragraphs.' | summary.description = 'Summary consisting of multiple paragraphs.' | ||||
| status = models.TextField(choices=FilmStatus.choices) | status = models.TextField(choices=FilmStatus.choices) | ||||
| ▲ Show 20 Lines • Show All 48 Lines • Show Last 20 Lines | |||||