Python 我们可以在Django的同一视图中多次查询模型吗?
我一直在一个视频分享网站上工作。我正在使用Django 1.6。有一个用户可以观看任何特定视频的页面。此外,“热门视频”的一部分就在旁边,根据浏览量列出了热门视频。我想知道我们是否可以在一个视图函数中多次查询同一个模型。我的代码如下Python 我们可以在Django的同一视图中多次查询模型吗?,python,django,Python,Django,我一直在一个视频分享网站上工作。我正在使用Django 1.6。有一个用户可以观看任何特定视频的页面。此外,“热门视频”的一部分就在旁边,根据浏览量列出了热门视频。我想知道我们是否可以在一个视图函数中多次查询同一个模型。我的代码如下 def watch(request, video_id): video_to_watch = Video.objects.get(id=video_id) popular_videos = Video.objects.filter(views
def watch(request, video_id):
video_to_watch = Video.objects.get(id=video_id)
popular_videos = Video.objects.filter(views__gt=100)
是的,您可以在单个视图中多次查询同一模型。是的,您可以多次查询一个模型。对于您的场景,最好的方法是使用模型管理器
class PopularManager(models.Manager):
def get_queryset(self):
return super(PopularManager, self).get_queryset().filter(views__gt=100)
class Video(models.Model)
....
popular = PopularManager()
你可以得到像这样的流行视频
popular_videos = Video.popular.all()
感谢catavaran,但是当我尝试将popular_videos上下文传递到模板中时,它不会显示为{popular_videos%}{{video.track_name}{%endfor%}将
print popular_videos
语句添加到视图中,并查看devserver控制台的输出。此列表是否为空?顺便说一句,django 1.6不再受支持,如果您现在开始,请从1.8开始,如果1.8还没有教程,请从1.7开始。感谢朋友们的真诚帮助,现在一切正常。如果您认为此答案有用,请使用完投票