Changeset View
Changeset View
Standalone View
Standalone View
films/models/collections.py
| from django.db import models | from django.db import models | ||||
| from django.urls.base import reverse | from django.urls.base import reverse | ||||
| from django.utils.text import slugify | from django.utils.text import slugify | ||||
| 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 | ||||
| from films.models import films | from films.models import films | ||||
| class Collection(mixins.CreatedUpdatedMixin, models.Model): | class Collection(mixins.CreatedUpdatedMixin, mixins.StaticThumbnailURLMixin, models.Model): | ||||
| class Meta: | class Meta: | ||||
| constraints = [ | constraints = [ | ||||
| models.UniqueConstraint(fields=['parent', 'slug'], name='unique_slug_per_collection'), | models.UniqueConstraint(fields=['parent', 'slug'], name='unique_slug_per_collection'), | ||||
| ] | ] | ||||
| film = models.ForeignKey(films.Film, on_delete=models.CASCADE, related_name='collections') | film = models.ForeignKey(films.Film, on_delete=models.CASCADE, related_name='collections') | ||||
| parent = models.ForeignKey( | parent = models.ForeignKey( | ||||
| 'self', on_delete=models.CASCADE, blank=True, null=True, related_name='child_collections' | 'self', on_delete=models.CASCADE, blank=True, null=True, related_name='child_collections' | ||||
| Show All 30 Lines | |||||