Saf*_*ari 5 python django django-orm django-admin django-queryset
我想要一个自定义查询来在我的管理 django 面板中显示元素列表。
因此,为了实现这一点,我使用如下代码:
class MyAdmin(admin.ModelAdmin):
....
def get_queryset(self, request):
return Post.objects.filter(author_type=AuthorType.USER)
Run Code Online (Sandbox Code Playgroud)
这工作得很好,但我还需要为此查询集添加一个 LIMIT:
class MyAdmin(admin.ModelAdmin):
....
def get_queryset(self, request):
return Post.objects.filter(author_type=AuthorType.USER)[:500]
Run Code Online (Sandbox Code Playgroud)
但是当我添加限制子句时,[:500]出现此错误:
异常值:获取切片后无法对查询重新排序。
有什么建议么?
显然在你的切片之后某个地方正在发生排序,你应该尝试这个:
def get_queryset(self, request):
qs = super(MyAdmin, self).queryset(request)
return qs.filter(author_type=AuthorType.USER)[:500]
Run Code Online (Sandbox Code Playgroud)