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

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

我有一个“笑话表“,里面现在存有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 带上当天时间的标记。

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

构成我们学习最大障碍的是已知的东西,而不是未知的东西。 —— 贝尔纳