Ben*_*Ben 6 django django-models
我想要合并一个允许多个排序变量的排序功能.
我试图传递.order_by()函数但是当我尝试包含多个字段时它会一直失败.我该怎么做呢?
if request.GET.get('size_sort')=='1':
def sorts():
sort='\'bedrooms\',\'bathrooms\''
return sort
posts=Post.objects.filter(**keyword_args).order_by(sorts())
Run Code Online (Sandbox Code Playgroud)
这将返回回溯:
Invalid order_by arguments: ["'bedrooms','bathrooms'"]
Run Code Online (Sandbox Code Playgroud)
小智 23
要按多个字段排序(其中第二个字段用于在第一个字段相同的情况下消除排序歧义),请使用多个参数:
也就是说,正确的调用是:
order_by('bedrooms', 'bathrooms')
Run Code Online (Sandbox Code Playgroud)
在上下文中,与原始问题一致:
def sorts():
sort = ['bedrooms', 'bathrooms']
return sort
posts = Post.objects.filter(**keyword_args).order_by(*sorts())
Run Code Online (Sandbox Code Playgroud)
快乐的编码.
| 归档时间: |
|
| 查看次数: |
5299 次 |
| 最近记录: |