thread.py 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. from django.db import models
  2. from misago.conf import settings
  3. class Thread(models.Model):
  4. forum = models.ForeignKey('misago_forums.Forum')
  5. weight = models.PositiveIntegerField(default=0)
  6. prefix = models.ForeignKey('misago_threads.Prefix', null=True, blank=True,
  7. on_delete=models.SET_NULL)
  8. name = models.CharField(max_length=255)
  9. slug = models.SlugField(max_length=255)
  10. replies = models.PositiveIntegerField(default=0)
  11. has_reported_posts = models.BooleanField(default=False)
  12. has_moderated_posts = models.BooleanField(default=False)
  13. has_hidden_posts = models.BooleanField(default=False)
  14. started_on = models.DateTimeField()
  15. first_post = models.ForeignKey('misago_threads.Post', related_name='+',
  16. null=True, blank=True,
  17. on_delete=models.SET_NULL)
  18. starter = models.ForeignKey(settings.AUTH_USER_MODEL,
  19. null=True, blank=True,
  20. on_delete=models.SET_NULL)
  21. starter_name = models.CharField(max_length=255)
  22. starter_slug = models.SlugField(max_length=255)
  23. last_post_on = models.DateTimeField()
  24. last_post = models.ForeignKey('misago_threads.Post', related_name='+',
  25. null=True, blank=True,
  26. on_delete=models.SET_NULL)
  27. last_poster = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='+',
  28. null=True, blank=True,
  29. on_delete=models.SET_NULL)
  30. last_poster_name = models.CharField(max_length=255, null=True, blank=True)
  31. last_poster_slug = models.SlugField(max_length=255, null=True, blank=True)
  32. is_poll = models.BooleanField(default=False)
  33. is_moderated = models.BooleanField(default=False)
  34. is_hidden = models.BooleanField(default=False)
  35. is_closed = models.BooleanField(default=False)