Django: как фильтровать посты на основе представления в django

я хочу фильтровать посты на основе просмотров, например view>100 то есть фильтровать курс, если только просмотр больше 100 просмотров, но он продолжает показывать эту ошибку SyntaxError: positional argument follows keyword argument. Проблема в том, как я фильтрую посты, но я не знаю правильного способа сделать это. У меня есть поле views = models.In... в моем models.py, поэтому я пытаюсь отфильтровать курс как course = Course.objects.filter(views>100), но он показывает ошибку

models.py

class Course(models.Model):
    course_title = models.CharField(max_length=100, null=True, blank=True)
    slug = models.SlugField(unique=True)
    views = models.IntegerField(default=0)
    

views.py

def index(request):
    pop_courses = Course.objects.filter(course_publish_status="published", views>100).order_by('?')
    

Для выполнения этого фильтра необходимо использовать поиск __gt

Course.objects.filter(course_publish_status="published", views__gt=100).order_by('?')

Вы можете фильтровать с помощью __gt поиска [Django-doc]:

Course.objects.filter(
    course_publish_status='published',
    views__gt=100
).order_by('?')
Вернуться на верх