Python/Django - *args作为列表

Gre*_*L83 4 python django django-models

我正在使用.order_by()方法/函数; 但是,我想动态构造order_by字段.问题是.order_by()期望接收字符串或缓冲区.所以,我无法构建一个列表或元组或对象来发送到该函数.我怎样才能实现这个目标?

我想做的事情如下:

field_list = []
for field in fields:
  field_list.append( field )
model.objects.all().order_by( field_list )
Run Code Online (Sandbox Code Playgroud)

???

Gab*_*aru 8

你可以用model.objects.all().order_by(*field_list); 这是因为order_by接受多个字符串参数,而不是多个字符串的列表.

请参见本章中djangobook,搜索order_by,以及对参数拆包.