我正在使用.order_by()方法/函数;但是,我想动态构造order_by字段。问题是.order_by()期望接收字符串或缓冲区。所以,我无法构建一个列表或元组或对象来发送到该函数。我怎样才能实现这个目标?
我想做类似的事情:
field_list = []
for field in fields:
field_list.append( field )
model.objects.all().order_by( field_list )
???
答案 0 :(得分:8)
您可以使用model.objects.all().order_by(*field_list)
;这是因为order_by
接受多个字符串参数,而不是多个字符串的列表。
请参阅This chapter in djangobook, search for order_by
和this了解参数解包。