64 lines
1.5 KiB
Python
64 lines
1.5 KiB
Python
from django.db import models
|
|
from django.conf import settings
|
|
from taggit.managers import TaggableManager
|
|
from photologue.models import Gallery, Photo
|
|
from django.utils.translation import gettext_lazy as _
|
|
|
|
|
|
class GalleryExtended(models.Model):
|
|
# Extend Photologue Gallery model.
|
|
gallery = models.OneToOneField(
|
|
Gallery,
|
|
related_name='extended',
|
|
on_delete=models.CASCADE,
|
|
)
|
|
|
|
# Add tags
|
|
tags = TaggableManager(blank=True)
|
|
|
|
# Add start and end dates fields to GalleryExtend
|
|
date_start = models.DateField(
|
|
blank=True,
|
|
null=True,
|
|
verbose_name=_("start date"),
|
|
)
|
|
date_end = models.DateField(
|
|
blank=True,
|
|
null=True,
|
|
verbose_name=_("end date"),
|
|
)
|
|
|
|
class Meta:
|
|
verbose_name = 'Extra fields'
|
|
verbose_name_plural = 'Extra fields'
|
|
|
|
def __str__(self):
|
|
return self.gallery.title
|
|
|
|
|
|
class PhotoExtended(models.Model):
|
|
# Extend Photologue Photo model.
|
|
photo = models.OneToOneField(
|
|
Photo,
|
|
related_name='extended',
|
|
on_delete=models.CASCADE,
|
|
)
|
|
|
|
# Add a owner field to PhotoExtended
|
|
owner = models.ForeignKey(
|
|
settings.AUTH_USER_MODEL,
|
|
on_delete=models.CASCADE,
|
|
verbose_name=_("owner"),
|
|
)
|
|
license = models.CharField(
|
|
max_length=255,
|
|
blank=True,
|
|
verbose_name=_("license"),
|
|
)
|
|
|
|
class Meta:
|
|
verbose_name = 'Extra fields'
|
|
verbose_name_plural = 'Extra fields'
|
|
|
|
def __str__(self):
|
|
return str(self.photo)
|