0
我希望能够通过Django Admin中的多个自定义方法进行排序。 This question仅为一种方法提供解决方案。如何在Django Admin中使用很多自定义方法进行排序
我试图修改它:
from django.db import models
class CustomerAdmin(admin.ModelAdmin):
list_display = ('number_of_orders','number_of_somevalue') # added field
def queryset(self, request):
qs = super(CustomerAdmin, self).queryset(request)
qs = qs.annotate(models.Count('order'))
qs = qs.annotate(models.Count('somevalue')) # added line
return qs
def number_of_orders(self, obj):
return obj.order__count
number_of_orders.admin_order_field = 'order__count'
def number_of_somevalue(self, obj): # added method
return obj.somevalue__count
number_of_somevalue.admin_order_field = 'somevalue__count'
和它的作品不正确。它似乎将count
值乘以而不是单独计算它们。
实施例:
我有2个数量和2个somevalues,但在面板我看到4个数量和4个somevalues。
用另一个值添加另一个方法使其成为8(2 * 2 * 2)。
我该如何解决?
谢谢你的建议@ArtjomB。这是我的第一个答案 – pipesalazar