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)