我有一个问题,我想在Django管理中根据字符串中的数字对模型行进行排序并忽略字母 - 如XX0345XX,X0346XXX,XXX0347XX。我想我应该为此使用正则表达式。我有一个SQL查询(PostgreSQL),它返回我想要的东西:
select * from mytable order by substring(my_field, '\d+')::int DESC
但是我在应用它以获得相同的结果时遇到了麻烦 Django管理员 。我尝试过做这样的事情:get_queryset()
def get_queryset(): return Model.objects.raw("select * from mytable order by substring(my_field, '\d+')::int DESC")
但问题是我没有以这种方式返回正确的类型。 返回 ,但应该返回实例而不是一个,所以我不能这样做。Model.objects.raw('...')
RawQuerySet
get_queryset()
QuerySet
RawQuerySet
关于如何解决这个问题的任何建议?谢谢!
智慧大石
慕侠2389804
相关分类