bgneal@695: """Models for the user_photos application.""" bgneal@695: bgneal@695: import datetime bgneal@695: bgneal@695: from django.db import models bgneal@695: from django.conf import settings bgneal@696: from django.core.urlresolvers import reverse bgneal@695: bgneal@695: bgneal@695: class Photo(models.Model): bgneal@695: """This model represents data about a user uploaded photo.""" bgneal@695: user = models.ForeignKey(settings.AUTH_USER_MODEL, bgneal@695: related_name='uploaded_photos') bgneal@695: upload_date = models.DateTimeField() bgneal@695: url = models.URLField(max_length=200) bgneal@695: thumb_url = models.URLField(max_length=200, blank=True) bgneal@749: signature = models.CharField(max_length=32, blank=True, db_index=True) bgneal@695: bgneal@695: def __unicode__(self): bgneal@695: return u'Photo by {} on {}'.format(self.user.username, bgneal@695: self.upload_date.strftime('%Y-%m-%d %H:%M:%S')) bgneal@695: bgneal@695: def get_absolute_url(self): bgneal@696: return reverse('user_photos-detail', kwargs={'pk': self.pk}) bgneal@695: bgneal@695: def save(self, *args, **kwargs): bgneal@695: if not self.pk and not self.upload_date: bgneal@695: self.upload_date = datetime.datetime.now() bgneal@695: super(Photo, self).save(*args, **kwargs) bgneal@695: