Add extended fields to the Photo and Gallery

This commit is contained in:
Alexandre Iooss 2022-01-30 10:20:32 +01:00
parent 6ea1a7c77f
commit 27b1590a10
3 changed files with 154 additions and 2 deletions

View file

@ -145,8 +145,23 @@ class Gallery(models.Model):
unique=True,
max_length=250,
help_text=_('A "slug" is a unique URL-friendly title for an object.'))
date_start = models.DateField(
default=now,
verbose_name=_("start date"),
)
date_end = models.DateField(
blank=True,
null=True,
verbose_name=_("end date"),
)
description = models.TextField(_('description'),
blank=True)
tags = models.ManyToManyField(
'photologue.Tag',
related_name='galleries',
verbose_name=_('tags'),
blank=True,
)
is_public = models.BooleanField(_('is public'),
default=True,
help_text=_('Public galleries will be displayed '
@ -478,6 +493,16 @@ class Photo(ImageModel):
blank=True)
date_added = models.DateTimeField(_('date added'),
default=now)
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"),
)
is_public = models.BooleanField(_('is public'),
default=True,
help_text=_('Public photographs will be displayed in the default views.'))
@ -657,3 +682,25 @@ def init_size_method_map():
{'base_name': '_get_size_url', 'size': size}
size_method_map['get_%s_filename' % size] = \
{'base_name': '_get_size_filename', 'size': size}
class Tag(models.Model):
name = models.CharField(
max_length=250,
unique=True,
verbose_name=_('name'),
)
slug = models.SlugField(
unique=True,
max_length=250,
verbose_name=_('slug'),
help_text=_('A "slug" is a unique URL-friendly title for an object.'),
)
class Meta:
ordering = ['name']
verbose_name = _('tag')
verbose_name_plural = _('tags')
def __str__(self):
return self.name