使用Django 1.1,我试图从varchar列中选择最大值(在MySQL中)。列中存储的数据如下所示:
9001
9002
9017
9624
10104个
11823
(实际上,数字比这要大得多。)
这一直有效,直到数字增加到10000以上:
Feedback.objects.filter(est__pk=est_id).aggregate(sid=Max('sid'))
现在,同一行将返回9624而不是11823.
我可以直接在DB中运行查询,它可以提供我需要的东西,但我无法找到在Django中执行此操作的最佳方法。查询将是:
select max(sid+0) from Feedback;
非常感谢任何帮助。
谢谢!
答案 0 :(得分:1)
本着“任何帮助都会受到高度赞赏”的精神,你应该弄明白为什么它停止在Django内部工作(但显然不在MySQL内部) - 万分之一。
正在生成的查询是什么?请参阅this question了解如何找到它。
我怀疑这是因为您要添加+0以在查询中生成排序数字。我不认为Django自然会支持这个,所以你有两个选择: