Вывод записей по заданным критериям

Sarkerdo

ETO FIASKO
Регистрация
3 Янв 2016
Сообщения
177
Реакции
109
Подскажите, как вывести записи, которые имеют например больше 10 лайков
Сейчас выводится по дате
views.py
Код:
class PopularListView(ListView):
    model = Post
    template_name='app/popular.html'
    def get_queryset(self):
        return Post.objects.filter(created_date__lte=timezone.now()).order_by('-created_date')[:45]
models.py
Код:
class Post(models.Model):
    author = models.ForeignKey('auth.User', related_name='post', on_delete='CASCADE')
    title = models.CharField(max_length=100)
    text = models.TextField()
    votes = GenericRelation(LikeDislike, related_query_name='Post')
    created_date = models.DateTimeField(default=timezone.now)
    published_date = models.DateTimeField(blank=True, null=True)
    category = models.ForeignKey('Category', verbose_name='Категория', on_delete=models.CASCADE)
 

Maybe

Хранитель порядка
Модератор
Регистрация
7 Июл 2008
Сообщения
1.176
Реакции
1.232
Подскажите, как вывести записи, которые имеют например больше 10 лайков
Сейчас выводится по дате
views.py
Код:
class PopularListView(ListView):
    model = Post
    template_name='app/popular.html'
    def get_queryset(self):
        return Post.objects.filter(created_date__lte=timezone.now()).order_by('-created_date')[:45]
models.py
Код:
class Post(models.Model):
    author = models.ForeignKey('auth.User', related_name='post', on_delete='CASCADE')
    title = models.CharField(max_length=100)
    text = models.TextField()
    votes = GenericRelation(LikeDislike, related_query_name='Post')
    created_date = models.DateTimeField(default=timezone.now)
    published_date = models.DateTimeField(blank=True, null=True)
    category = models.ForeignKey('Category', verbose_name='Категория', on_delete=models.CASCADE)

Добавляете еще один фильтр в запрос или вы его заменить хотите? Покажите еще LikeDislike

К слову, зачем в вашем запросе вообще фильтр сейчас?
Post.objects.filter(created_date__lte=timezone.now()).order_by('-created_date')[:45]
 
Сверху