Mercurial > public > sg101
view banners/models.py @ 1201:fe10aea76cbd tip
Add 2023 MP3 compilation links
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Sun, 24 Mar 2024 14:50:23 -0500 |
parents | ee87ea74d46b |
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)