列出本地工作正常但在服务器工作逆

时间:2015-05-23 14:06:29

标签: python django heroku

我正在转换列表中的查询集,如下所示:

qs = CreditoPredio.objects.filter(predio_id=self.kwargs['predio_id'])
id_list = list(qs.values_list('id', flat=True))
position = id_list.index(int(self.kwargs['pk']))

例如,列表为:[1,2,3,4]
如果我在本地工作中打印位置很好,id 1是位置0,2是位置2,依此类推。但是当我将其上传到Heroku时,列表反转,4是位置0,1是最后位置。为什么?关于如何解决它的任何线索?

1 个答案:

答案 0 :(得分:1)

首先,我不明白为什么这会成为一个问题。你在这里尝试解决的是什么?为什么需要订购ID列表?

无论如何,要始终获取按ID排序的列表,您只需在查询中使用order_by,即可始终返回按ID号排序的列表:

qs = CreditoPredio.objects.filter(predio_id=self.kwargs['predio_id']).order_by('id')

我不知道为什么你的结果会有所不同。您的本地安装与Heroku完全相同吗?数据是否以完全相同的顺序输入?如果没有,您不能假设您的本地版本将100%运行,就像在Heroku上一样。

相关问题