是这样子的我某个栏位里面都是 字串+数字例如 test0001 test0501 test3402
我想filter查询时,ordert_by 条件无视前字串,只看数字的部分做排序 django能直接处理吗? 还是只能在python 里面另外运算
如果有这这个中需求,看起来是你应该建字段(栏位)的时候就应该拆开,只是展示的时候合并在一起。
补充一下,如果你的字串前缀都是一样的话,那么应该也能按数字排序,不过用起来还是怪怪的。
不过已经是这样了,前面也很多功能依赖了这个栏位
我说一下,我现在的解法,我把查询到的结果丢到一个list里面 list 每个成员都是一个dict,然后利用sorted 结合lamba去做排序 return_list = sorted(return_list, key=lambda x: int(x['big_barcode_number'].replace('test', ''))) 不过我知道这样肯定是很慢的
没有办法,其实就两种方式,能在数据库层面做就在数据库层做,如果不行那只能在应用(程式)中做了。或者你改下你的表结构。通过程序把之前的一个字段拆成两个字段。