我喜欢Greg解决此问题的方法,但我想指出,你可以直接在管理员中执行相同的操作:
from django.db import modelsclass CustomerAdmin(admin.ModelAdmin): list_display = ('number_of_orders',) def get_queryset(self, request): # def queryset(self, request): # For Django <1.6 qs = super(CustomerAdmin, self).get_queryset(request) # qs = super(CustomerAdmin, self).queryset(request) # For Django <1.6 qs = qs.annotate(models.Count('order')) return qs def number_of_orders(self, obj): return obj.order__count number_of_orders.admin_order_field = 'order__count'这样,你只需在管理界面内进行注释。并非与你执行的每个查询有关。



