from django.db import models from django.contrib.markup.templatetags.markup import markdown from awwca.stockphoto.models import Photo # Create your models here. class Author(models.Model): first_name = models.CharField(maxlength=20) last_name = models.CharField(maxlength=20) class Admin: pass def __str__(self): return "%s %s" % (self.first_name, self.last_name) class Essay(models.Model): title = models.CharField(maxlength=200, unique=True) slug = models.SlugField(prepopulate_from=['title'], unique=True) short_description = models.TextField() short_description_html = models.TextField(blank=True, editable=False) pub_date = models.DateField() authors = models.ManyToManyField(Author) pdf = models.FileField(upload_to="uploads/essays") def save(self): self.short_description_html = markdown(self.short_description) super(Essay, self).save() class Admin: pass class Meta: ordering = ['-pub_date'] def get_absolute_url(self): return "/articles/essays/%s/" % self.slug def __str__(self): return self.title class Article(models.Model): title = models.CharField(maxlength=200, unique=True) slug = models.SlugField(prepopulate_from=['title']) body = models.TextField() body_html = models.TextField(blank=True, editable=False) picture = models.ForeignKey(Photo, blank=True,null=True) author = models.ManyToManyField(Author) pub_date = models.DateField() def save(self): self.body_html = markdown(self.body) super(Article, self).save() class Admin: pass class Meta: ordering = ["-pub_date"] def __str__(self): return self.title def get_absolute_url(self): return "/articles/%s/%s/" % (self.pub_date.strftime("%Y/%m/%d"), self.slug) class Attachment(models.Model): title = models.CharField(maxlength=200,core=True) file = models.FileField(core=True, upload_to="uploads/article_attachments") event = models.ForeignKey(Article, edit_inline=models.TABULAR, num_in_admin=1) def __str__(self): return self.title