Mercurial > public > sg101
annotate user_photos/models.py @ 704:809d27b385f2
For user uploaded photos (#50), add a simple gallery view.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Sun, 15 Sep 2013 15:13:02 -0500 |
parents | b2a8fde3173a |
children | b6e98717690b |
rev | line source |
---|---|
bgneal@695 | 1 """Models for the user_photos application.""" |
bgneal@695 | 2 |
bgneal@695 | 3 import datetime |
bgneal@695 | 4 |
bgneal@695 | 5 from django.db import models |
bgneal@695 | 6 from django.conf import settings |
bgneal@696 | 7 from django.core.urlresolvers import reverse |
bgneal@695 | 8 |
bgneal@695 | 9 |
bgneal@695 | 10 class Photo(models.Model): |
bgneal@695 | 11 """This model represents data about a user uploaded photo.""" |
bgneal@695 | 12 user = models.ForeignKey(settings.AUTH_USER_MODEL, |
bgneal@695 | 13 related_name='uploaded_photos') |
bgneal@695 | 14 upload_date = models.DateTimeField() |
bgneal@695 | 15 url = models.URLField(max_length=200) |
bgneal@695 | 16 thumb_url = models.URLField(max_length=200, blank=True) |
bgneal@695 | 17 |
bgneal@695 | 18 def __unicode__(self): |
bgneal@695 | 19 return u'Photo by {} on {}'.format(self.user.username, |
bgneal@695 | 20 self.upload_date.strftime('%Y-%m-%d %H:%M:%S')) |
bgneal@695 | 21 |
bgneal@695 | 22 def get_absolute_url(self): |
bgneal@696 | 23 return reverse('user_photos-detail', kwargs={'pk': self.pk}) |
bgneal@695 | 24 |
bgneal@695 | 25 def save(self, *args, **kwargs): |
bgneal@695 | 26 if not self.pk and not self.upload_date: |
bgneal@695 | 27 self.upload_date = datetime.datetime.now() |
bgneal@695 | 28 super(Photo, self).save(*args, **kwargs) |
bgneal@695 | 29 |