Django 如何随机查询一条记录?

水木兰 · 2018年06月07日 · 960 次阅读

我有一个“笑话表“,里面现在存有800+的笑话。
我想做一个”每日一则笑话”的栏目:当用户加载相应页面时,从数据库里面随机一条笑话。
请问,在 Django 中如何实现随机查询?

共收到2条回复
家龙 · 2018年06月07日

随机排序后取1条数据即可:order_by('?')[:1]

Jokes.objects.filter(region=1).only('content').order_by('?')[:1]
JerryC · 2018年06月07日
WEB 前端

如果是每日只显示1条笑话,固定的话。那么,最好配合模板缓存,缓存时间要大于1天,缓存 key 带上当天时间的标记。

我要评论
登录之后,才能够回复。如果您还没有帐号,请先注册
小甜饼

现在,我怕的并不是那艰苦严峻的生活,而是不能再学习和认识我迫切想了解的世界。对我来说,不学习,毋宁死。 —— 罗蒙诺索夫