查询django中的分组数据

时间:2011-03-24 11:49:59

标签: django models

我正在尝试优化我非常简单的分页系统。我正在使用

从我的模型中获取特定内容
myModel.objects.get(slug='my slug bla bla bla')

我希望能够从我的id获得相同的请求,下一个和前一个Pk,以便显示基于Pk或发布的next / prec按钮。我看了一下分页,但没有找到如何解决我的prec = slug-pk - 1,slug,next = slug-pk + 1。 目前我已经添加到我的模型中的字段以获取下一个和prec绝对URL,但它非常难看并且产生了许多无用的SQL查询。您可以在此处查看输出:http://diasporamas.com/le-barbier-de-paris/watch

关于如何改善我的提取的任何想法?

谢谢!

1 个答案:

答案 0 :(得分:1)

我不相信在一个查询中可以这样做。

我能想到的最有效的方法是:

current = myModel.objects.get(slug='my slug bla bla bla')
next = None
next_pk = current.pk + 1
previous = None
prev_pk = current.pk - 1
for mod in myModel.objects.filter(pk__in=(next_pk, prev_pk)):
    if mod.pk == next_pk:
        next = mod
    else:
        prev = mod