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