photo26/photologue_custom/models.py

47 lines
1.1 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='cascade',
)
# Add tags
tags = TaggableManager(blank=True)
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='extented',
on_delete='cascade'
)
# Add a owner field to PhotoExtended
owner = models.ForeignKey(
settings.AUTH_USER_MODEL,
on_delete=models.CASCADE,
verbose_name=_("owner"),
)
class Meta:
verbose_name = 'Extra fields'
verbose_name_plural = 'Extra fields'
def __str__(self):
return str(self.photo)