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('?')