Add ordering, templatetags, update pagination
This commit is contained in:
parent
1dbd1c1779
commit
7c7eb0061d
10 changed files with 93 additions and 52 deletions
|
@ -35,6 +35,10 @@ class Photo(models.Model):
|
|||
views = models.PositiveIntegerField(default=0, verbose_name="Views")
|
||||
likes = models.PositiveIntegerField(default=0, verbose_name="Likes")
|
||||
|
||||
@property
|
||||
def orientation(self):
|
||||
return "Portrait" if self.height > self.width else "Landscape"
|
||||
|
||||
def add_like(self):
|
||||
self.likes += 1
|
||||
self.save()
|
||||
|
@ -49,7 +53,6 @@ class Photo(models.Model):
|
|||
def get_prev(self):
|
||||
return self.__class__.objects.filter(taken_at__lt=self.taken_at, album=self.album.id).order_by('-taken_at').first()
|
||||
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
self.exif_data = Exif(self.photo.path)
|
||||
datetime_taken = getattr(self.exif_data, 'datetimeoriginal', datetime.now)()
|
||||
|
@ -60,11 +63,10 @@ class Photo(models.Model):
|
|||
|
||||
def get_absolute_url(self):
|
||||
return reverse('gallery:photo_url', kwargs={'album_slug': self.album.slug, 'photo_slug': self.slug})
|
||||
|
||||
|
||||
class Meta:
|
||||
verbose_name_plural = "Photos"
|
||||
ordering = ('-taken_at',)
|
||||
|
||||
def __str__(self):
|
||||
return f'{self.slug} ({self.album.name})'
|
||||
|
||||
return f'{self.slug} ({self.orientation}) {self.is_favorite}'
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue