from django.db import models from django.core.urlresolvers import reverse # http://freewisdom.org/projects/python-markdown/ import markdown class Publisher(models.Model): name = models.CharField(max_length=200) slug = models.SlugField(max_length=50) body_markdown = models.TextField(null=True, blank=True) body_html = models.TextField(null=True, blank=True) url = models.CharField(max_length=200, blank=True, null=True) def __str__(self): return self.name class PubItem(models.Model): title = models.CharField(max_length=200) slug = models.CharField(max_length=50) body_markdown = models.TextField(null=True, blank=True) body_html = models.TextField(null=True, blank=True) url = models.CharField(max_length=200, blank=True, null=True) pub_date = models.DateTimeField('Date published') publisher = models.ForeignKey(Publisher) class Meta: ordering = ('-pub_date',) def __str__(self): return self.title def get_absolute_url(self): return reverse("resume:detail", kwargs={"publisher": self.publisher.slug, "slug": self.slug}) def save(self, *args, **kwargs): if self.body_markdown: self.body_html = markdown.markdown(self.body_markdown, extensions=['extra'], safe_mode=False) super(PubItem, self).save()