diff options
Diffstat (limited to 'src/testapp/models.py')
| -rw-r--r-- | src/testapp/models.py | 34 |
1 files changed, 33 insertions, 1 deletions
diff --git a/src/testapp/models.py b/src/testapp/models.py index 75304c9c..3960d004 100644 --- a/src/testapp/models.py +++ b/src/testapp/models.py @@ -1,4 +1,6 @@ from django.db import models +from django.template.defaultfilters import slugify +from datetime import datetime import uuid def uuid_str(): @@ -28,4 +30,34 @@ class ExampleItem(models.Model): container = models.ForeignKey(ExampleContainer, related_name='items') index = models.IntegerField() note = models.CharField(max_length=1024) - unique_together = (container, index)
\ No newline at end of file + unique_together = (container, index) + + +class BlogPost(models.Model): + slug = models.SlugField(editable=False, primary_key=True, default='blah') + title = models.CharField(max_length=128) + content = models.TextField() + when = models.DateTimeField(editable=False) + + @models.permalink + def get_absolute_url(self): + return ('testapp.views.BlogPostInstance', (self.slug,)) + + def save(self, *args, **kwargs): + self.slug = slugify(self.title) + self.when = datetime.now() + super(self.__class__, self).save(*args, **kwargs) + + +class Comment(models.Model): + blogpost = models.ForeignKey(BlogPost, related_name='comments') + name = models.CharField(max_length=128) + content = models.TextField() + when = models.DateTimeField(auto_now_add=True) + + @models.permalink + def get_absolute_url(self): + return ('testapp.views.CommentInstance', (self.blogpost.slug, self.id)) + + def save(self): + self.index = self.blogpost.comments.count()
\ No newline at end of file |
