Trước hết, tôi muốn hỏi tại sao bạn có một cột varchar cần được coi là số, nhưng đừng bận tâm.
Bạn có thể sử dụng extra phương thức queryset để chuyển đổi chuỗi của bạn:
MyTable.objects.extra(select={'int_name': 'CAST(t.name AS INTEGER)'},
order_by=['int_name'])