你如何在django admin中随机排序字段?

时间:2014-06-19 08:23:25

标签: django django-models django-admin

我试图以随机顺序列出我的字段。我没有看到任何接口手段,我尝试创建动作:

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

这些都没有,有什么想法吗?

1 个答案:

答案 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)