post.py 1.5 KB

12345678910111213141516171819202122232425262728293031
  1. from django.db import models
  2. from misago.conf import settings
  3. class Post(models.Model):
  4. forum = models.ForeignKey('misago_forums.Forum')
  5. thread = models.ForeignKey('misago_threads.Thread')
  6. poster = models.ForeignKey(settings.AUTH_USER_MODEL, null=True, blank=True,
  7. on_delete=models.SET_NULL)
  8. poster_name = models.CharField(max_length=255)
  9. poster_ip = models.GenericIPAddressField()
  10. post = models.TextField()
  11. post_parsed = models.TextField()
  12. post_checksum = models.CharField(max_length=64)
  13. mentions = models.ManyToManyField(settings.AUTH_USER_MODEL,
  14. related_name="mention_set")
  15. has_attachments = models.BooleanField(default=False)
  16. pickled_attachments = models.TextField(null=True, blank=True)
  17. posted_on = models.DateTimeField()
  18. updated_on = models.DateTimeField()
  19. edits = models.PositiveIntegerField(default=0)
  20. last_editor = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='+',
  21. null=True, blank=True,
  22. on_delete=models.SET_NULL)
  23. last_editor_name = models.CharField(max_length=255, null=True, blank=True)
  24. last_editor_slug = models.SlugField(max_length=255, null=True, blank=True)
  25. is_reported = models.BooleanField(default=False, db_index=True)
  26. is_moderated = models.BooleanField(default=False)
  27. is_hidden = models.BooleanField(default=False)
  28. is_protected = models.BooleanField(default=False)