我试图以随机顺序列出我的字段。我没有看到任何接口手段,我尝试创建动作:
def randomsort (modeladmin, request, queryset)
queryset.order_by('?')
和
def randomsort (modeladmin, request, queryset)
queryset.order_by('?order') where order is the name of my order field
这些都没有,有什么想法吗?
答案 0 :(得分:0)
order_by()
不会操纵原始查询集,只是将值洗牌并返回一个新的查询集。例如:
myqueryset.order_by('?')
什么都不做。但是:
myqueryset = myqueryset.order_by('?')
你正在寻找什么。机会是,你没有正确地调用randomsort,因为你没有返回任何东西。解决方案是修改你的功能:
def randomsort (modeladmin, request, queryset)
return queryset.order_by('?') #where order is the name of my order field
然后适当地调用它:
myqueryset = randomsort(modeladmin, request, queryset)