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_production用TextField存储年份有点不太合适,建议换成IntegerField或者CharField(max_length=4),这样更贴合年份的存储逻辑哦~

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 08:57:47