Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Thread(models.Model):
- class Meta:
- get_latest_by = "post_date"
- author = models.ForeignKey(Player, related_name="threads")
- post_date = models.DateTimeField()
- parent = models.ForeignKey(Subsection, related_name="children")
- close_note = models.ForeignKey(Note, null=True, blank=True)
- sticky = models.BooleanField()
- page_views = models.IntegerField(default=0)
- def __str__(self):
- return util.plaintext(self.title)
- def to_url(self):
- return str(self.id)
- @property
- def title(self):
- try:
- return self.children.order_by("post_date")[0].title
- except IndexError:
- return ""
- class Post(models.Model):
- class Meta:
- get_latest_by = "post_date"
- title = models.CharField(max_length=max_title_length)
- author = models.ForeignKey(Player, related_name="posts")
- parent = models.ForeignKey(Thread, related_name="children")
- post_date = models.DateTimeField()
- last_edit_date = models.DateTimeField(blank=True, null=True)
- text = models.TextField(max_length=max_post_length)
- flag_note = models.ForeignKey(Note, blank=True, null=True)
- objects = PostManager()
- def __str__(self):
- return util.plaintext(self.text)[:10]
- def to_url(self):
- return str(self.id)
- @classmethod
- def create(cls, title=None, text=None, author=None,
- parent_id=None, post_date=None):
- parent = Thread.objects.get(id=parent_id)
- if post_date is None:
- post_date = datetime.now()
- return cls(title=title, author=author, parent=parent,
- post_date=post_date, text=text, flag_note=None)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement