以小写倒序排列 QuerySet
ordering QuerySet in lowercase reverse order
我的 django 项目在 views.py 中定义了以下函数。我遇到的唯一问题是按小写顺序(即 Lower())和相反顺序(即“-title”而不是 'title')对所有书籍进行排序。我可以按一个或另一个订购,但不能同时订购。
我收到以下错误:
Cannot resolve keyword '-title' into field. Choices are: author, date_modified, title
def book_list_title(request):
all_entries = Book.objects.all().order_by(Lower('-title'))
books_list=[]
//Do stuff to create a proper list of books
return render(request,'books_app/books_list.html', {'books_list':books_list})
尝试使用 Query Expressions
。
from django.db.models import Func, F
Book.objects.all().annotate(title_lower=Func(F('title'), function='LOWER')).order_by('-title_lower')
按照 documentation of order_by
你应该可以在 Lower()
上使用 desc()
:
all_entries = Book.objects.all().order_by(Lower('title').desc())
我的 django 项目在 views.py 中定义了以下函数。我遇到的唯一问题是按小写顺序(即 Lower())和相反顺序(即“-title”而不是 'title')对所有书籍进行排序。我可以按一个或另一个订购,但不能同时订购。
我收到以下错误:
Cannot resolve keyword '-title' into field. Choices are: author, date_modified, title
def book_list_title(request):
all_entries = Book.objects.all().order_by(Lower('-title'))
books_list=[]
//Do stuff to create a proper list of books
return render(request,'books_app/books_list.html', {'books_list':books_list})
尝试使用 Query Expressions
。
from django.db.models import Func, F
Book.objects.all().annotate(title_lower=Func(F('title'), function='LOWER')).order_by('-title_lower')
按照 documentation of order_by
你应该可以在 Lower()
上使用 desc()
:
all_entries = Book.objects.all().order_by(Lower('title').desc())