Advertisement
Guest User

Untitled

a guest
Aug 3rd, 2015
180
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.82 KB | None | 0 0
  1. class PhotoManager(models.Manager):
  2. # Only returns one object, not a list of them
  3. def latest(self):
  4. end = datetime.now()
  5. start = end - timedelta(hours=24)
  6. return super(PhotoManager, self).get_queryset().filter(
  7. Q(timestamp__gte=start) & Q(timestamp__lte=end))
  8.  
  9. def most_liked(self):
  10. return super(PhotoManager, self).get_queryset().annotate(
  11. the_count=(Count('likers'))).order_by('-the_count’)
  12.  
  13. class Photo(models.Model):
  14. likers = models.ManyToManyField(settings.AUTH_USER_MODEL,
  15. related_name='likers', blank=True)
  16. photo = models.ImageField(upload_to=upload_location)
  17. timestamp = models.DateTimeField(auto_now_add=True)
  18.  
  19. objects = PhotoManager()
  20.  
  21. def view(request):
  22. most_liked = Photo.objects.most_liked()[:300]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement