请Python的Django大咖帮忙,谢谢先
我的model里面有一个字段order_num,我要根据这个字段的内容对表单进行排序。而这个字段是字母和数字混合的字符串如D20240925-1,现在需要用这个字符串里面的数字字段进行排序,若第一个数字是一样的,则比较第二个数字。我以为可以用re.findall(r'\d+', order_num)的思路去做,但是无论如何都没法搞定,您能帮忙指点一下吗?
def get_queryset(self, request, *args, **kwargs):
queryset = self.model_class.objects.all().annotate(order_num_int0, order_num_int1=re.findall(pattern=r'\d+', string=str(models.ExpressionWrapper(models.F('order_num'), CharField())))).order_by('-order_num_int0', '-order_num_int1')
return queryset

浙公网安备 33010602011771号