gpt4 book ai didi

Django:使用 order_by 对数值进行排序

转载 作者:行者123 更新时间:2023-12-03 13:11:26 25 4
gpt4 key购买 nike

我处于必须通过用于存储街道地址的 CharField 输出相当大的对象列表的情况。

我的问题是,显然数据是按 ASCII 代码排序的,因为它是一个 Charfield,具有可预测的结果......它像这样对数字进行排序;

1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2, 20, 21....

现在显而易见的步骤是将 Charfield 更改为正确的字段类型(假设为 IntegerField),但是它无法工作,因为某些地址可能有公寓......比如“128A”。

我真的不知道如何正确订购这个..

最佳答案

如果您确定该字段中只有整数,您可以让数据库通过 extra 将其转换为整数。方法,并按以下顺序排序:

MyModel.objects.extra(
select={'myinteger': 'CAST(mycharfield AS INTEGER)'}
).order_by('myinteger')

关于Django:使用 order_by 对数值进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2969348/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com