Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class PhotoManager(models.Manager):
- # Only returns one object, not a list of them
- def latest(self):
- end = datetime.now()
- start = end - timedelta(hours=24)
- return super(PhotoManager, self).get_queryset().filter(
- Q(timestamp__gte=start) & Q(timestamp__lte=end))
- def most_liked(self):
- return super(PhotoManager, self).get_queryset().annotate(
- the_count=(Count('likers'))).order_by('-the_count’)
- class Photo(models.Model):
- likers = models.ManyToManyField(settings.AUTH_USER_MODEL,
- related_name='likers', blank=True)
- photo = models.ImageField(upload_to=upload_location)
- timestamp = models.DateTimeField(auto_now_add=True)
- objects = PhotoManager()
- def view(request):
- most_liked = Photo.objects.most_liked()[:300]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement