('issued_by', 'question') ) issued_by = models.ForeignKey(User, related_name='bookmarks') question = models.ForeignKey(Question, related_name='bookmarks') issued_at = models.DateTimeField(auto_now_add=True) @transaction.atomic() def save(self, *args, **kwargs): Bookmark.objects.filter( issued_by=self.issued_by, question=self.question ).delete() super(Bookmark, self).save(*args, **kwargs) track.count(Bookmark, 'question', 'bookmarks', 'bookmark_count', dt=5) class Vote(models.Model): class Meta: unique_together = ( ('issued_by', 'answer') ) VALUE_CHOICES = ( (1, "UP"), (0, "NONE"), (-1, "DOWN"), )
class Meta: unique_together = (('issued_by', 'question')) issued_by = models.ForeignKey(User, related_name='bookmarks') question = models.ForeignKey(Question, related_name='bookmarks') issued_at = models.DateTimeField(auto_now_add=True) @transaction.atomic() def save(self, *args, **kwargs): Bookmark.objects.filter(issued_by=self.issued_by, question=self.question).delete() super(Bookmark, self).save(*args, **kwargs) track.count(Bookmark, 'question', 'bookmarks', 'bookmark_count', dt=5) class Vote(models.Model): class Meta: unique_together = (('issued_by', 'answer')) VALUE_CHOICES = ( (1, "UP"), (0, "NONE"), (-1, "DOWN"), ) issued_by = models.ForeignKey(User, related_name='votes') answer = models.ForeignKey(Answer, related_name='votes')
from towngeek.commons.handlers import track from towngeek.locations.models import City class Question(models.Model): issued_by = models.ForeignKey(User, related_name='questions') issued_at = models.DateTimeField(auto_now_add=True) city = models.ForeignKey(City, related_name='questions') text = models.TextField() bookmark_count = models.IntegerField(default=0) answer_count = models.IntegerField(default=0) def __unicode__(self): return self.text[:100] class Answer(models.Model): issued_by = models.ForeignKey(User, related_name='answers') issued_at = models.DateTimeField(auto_now_add=True) question = models.ForeignKey(Question, related_name='answers') text = models.TextField() score = models.IntegerField(default=0) def __unicode__(self): return self.text[:100] track.count(Answer, 'question', 'answers', 'answer_count', dt=5)