Mercurial > public > sg101
view gpp/banners/models.py @ 580:c525f3e0b5d0
Use the static() function to serve MEDIA files in development.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Sat, 05 May 2012 15:08:07 -0500 |
parents | 9a68fd3bd8a5 |
children |
line wrap: on
line source
""" Models for the banners application. """ import datetime from django.db import models class Campaign(models.Model): """ A model to represent an ad or banner campaign. """ name = models.CharField(max_length=128) slug = models.SlugField() creation_date = models.DateTimeField(blank=True) def __unicode__(self): return self.name class Meta: ordering = ['name'] def save(self, *args, **kwargs): if not self.pk and not self.creation_date: self.creation_date = datetime.datetime.now() super(Campaign, self).save(*args, **kwargs) def banner_upload_to(instance, filename): """ An "upload_to" function for the Banner model. """ return "banners/%s/%s" % (instance.campaign.slug, filename) class Banner(models.Model): """ A model to represent a banner. """ campaign = models.ForeignKey(Campaign) image = models.ImageField(upload_to=banner_upload_to) description = models.CharField(max_length=128) creation_date = models.DateTimeField(blank=True) def __unicode__(self): return self.description class Meta: ordering = ['-creation_date'] def save(self, *args, **kwargs): if not self.pk and not self.creation_date: self.creation_date = datetime.datetime.now() super(Banner, self).save(*args, **kwargs)