pollvote.py 950 B

12345678910111213141516171819202122232425262728293031323334
  1. from django.conf import settings
  2. from django.db import models
  3. from django.utils import timezone
  4. class PollVote(models.Model):
  5. category = models.ForeignKey(
  6. 'misago_categories.Category',
  7. on_delete=models.CASCADE,
  8. )
  9. thread = models.ForeignKey(
  10. 'misago_threads.Thread',
  11. on_delete=models.CASCADE,
  12. )
  13. poll = models.ForeignKey(
  14. 'misago_threads.Poll',
  15. on_delete=models.CASCADE,
  16. )
  17. voter = models.ForeignKey(
  18. settings.AUTH_USER_MODEL,
  19. blank=True,
  20. null=True,
  21. on_delete=models.SET_NULL,
  22. )
  23. voter_name = models.CharField(max_length=255)
  24. voter_slug = models.CharField(max_length=255)
  25. voter_ip = models.GenericIPAddressField()
  26. voted_on = models.DateTimeField(default=timezone.now)
  27. choice_hash = models.CharField(max_length=12, db_index=True)
  28. class Meta:
  29. index_together = [
  30. ['poll', 'voter_name'],
  31. ]