gpt4 book ai didi

python - Django 1.4 SimpleListfilter 排序错误

转载 作者:太空宇宙 更新时间:2023-11-03 17:54:12 25 4
gpt4 key购买 nike

我刚刚为我的 Django 应用程序实现了一个简单的列表过滤器,以仅捕获事件条目,如下所示:

class ActiveAircraftsFilter(SimpleListFilter):
title = _('aircraft')
parameter_name = 'aircraft__ac_registration'

def lookups(self, request, model_admin):
qs = Aircraft.objects.filter(active=True)

act = set([ac.ac_registration for ac in qs])
return [(ac, ac) for ac in act]

def queryset(self, request, queryset):
return queryset

这按预期工作,但排序错误。

在我的开发环境中,我有三架飞机,其中两架处于事件状态。但在 DjangoAdmin 中,下拉菜单以错误的顺序包含它们。我得到:D-BBBBD-AAAA

与预期相反:D-AAAA 和 D-BBBB 为第二。

有趣的是,它们也不是按 ID 排序的...

我的基础模型飞机在元类集中有排序。此外,我还尝试在获取查询集时设置排序

qs = Aircraft.objects.filter(active=True).order_by('ac_registration')

但这也无济于事。

上面的代码有什么问题吗?

最佳答案

在 Python 中,集合unordered 。你可以试试

return [(ac, ac) for ac in sorted(act)]

关于python - Django 1.4 SimpleListfilter 排序错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28727640/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com