You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在Django中过滤数据库模型:筛选电影网站最新10条数据中的剧情片与喜剧片

解决方案:过滤指定分类的电影

嗨,这事儿其实挺简单的,只需要在你的查询集里加个过滤条件就行啦,我来给你一步步说清楚:

修改后的views.py代码

def home(request):
    user = request.user
    # 先筛选分类为DRAMA(对应值"D")或COMEDY(对应值"C")的电影,再按id倒序取最新10条
    movies_obj = models.Movie.objects.filter(category__in=['D', 'C']).order_by('-id')[:10]
    return render(request,'index.html',{'user':user,'movies':movies_obj})

关键逻辑说明

  • category__in=['D', 'C']:这个条件会精准匹配category字段值为D(对应你定义的DRAMA分类)或者C(对应COMEDY分类)的电影,完美满足你只展示剧情片和喜剧片的需求。
  • 保留order_by('-id')[:10]:确保过滤后的结果依然是按id倒序排列,取最新的10条数据,和你原来的逻辑保持一致。

小细节提醒(非必需)

顺便提一句,我看到你的models.py里有个小拼写错误:descritpion应该是description;另外year_of_productionTextField存储年份有点不太合适,建议换成IntegerField或者CharField(max_length=4),这样更贴合年份的存储逻辑哦~

内容的提问来源于stack exchange,提问作者user16773013

火山引擎 最新活动