Advertisement
Guest User

Untitled

a guest
Dec 4th, 2010
215
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.91 KB | None | 0 0
  1. class Entry(models.Model):
  2.     LIVE_STATUS = 1
  3.     DRAFT_STATUS = 2
  4.     HIDDEN_STATUS = 3
  5.     STATUS_CHOICES = (
  6.         (LIVE_STATUS, 'Live'),
  7.         (DRAFT_STATUS, 'Draft'),
  8.         (HIDDEN_STATUS, 'Hidden'),
  9.     )
  10.  
  11.     # Core fields.
  12.     title = models.CharField(max_length=250,
  13.                              help_text="Maximum 250 characters.")
  14.     excerpt = models.TextField(blank=True,
  15.                                help_text="A short summary of the entry. Optional.")
  16.     body = models.TextField()
  17.     pub_date = models.DateTimeField(default=datetime.datetime.now)
  18.  
  19.     # Fields to store generated HTML.
  20.     excerpt_html = models.TextField(editable=False, blank=True)
  21.     body_html = models.TextField(editable=False, blank=True)
  22.  
  23.     # Metadata.
  24.     author = models.ForeignKey(User)
  25.     enable_comments = models.BooleanField(default=True)
  26.     featured = models.BooleanField(default=False)
  27.     slug = models.SlugField(unique_for_date='pub_date',
  28.                             help_text="Suggested value automatically generated from title. Must be unique for the publication date.")
  29.     status = models.IntegerField(choices=STATUS_CHOICES, default=LIVE_STATUS,
  30.                                  help_text="Only entries with live status will be publicly displayed.")
  31.  
  32.     # Categorization.
  33.     categories = models.ManyToManyField(Category)
  34.     tags = TagField(help_text="Separate tags with spaces.")
  35.  
  36.    
  37.  
  38.     class Meta:
  39.         ordering = ['-pub_date']
  40.         verbose_name_plural = "Entries"
  41.  
  42.     def __unicode__(self):
  43.         return self.title
  44.  
  45.     def save(self, force_insert=False, force_update=False):
  46.         self.body_html = markdown(self.body)
  47.         if self.excerpt:
  48.             self.excerpt_html = markdown(self.excerpt)
  49.         super(Entry, self).save(force_insert, force_update)
  50.  
  51.     def get_absolute_url(self):
  52.         return "/weblog/%s/%s/" % (self.pub_date.strftime("%Y/%b/%d").lower(), self.slug)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement