Django:如何根据 Django 中的视图过滤帖子

Django: how to filter posts based on view in django

我想根据浏览量过滤帖子,例如 view>100 如果只有浏览量大于 100 次浏览,那是过滤课程,但它一直显示此错误 SyntaxError: positional argument follows keyword argument。我过滤帖子的方式是问题所在,但我不知道正确的方法。我的 models.py 中有一个字段 views = models.In...,所以这就是为什么我要尝试像 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 lookup [Django-doc] 进行过滤:

Course.objects.filter(
    course_publish_status='published',
    <strong>views__gt=100</strong>
).order_by('?')