我遇到了同样的问题(我无法更改模型的经理来添加慢速注释或联接)。此处两个答案的组合有效。@Andre非常接近,Django Admin支持仅修改admin的查询集,因此在此处应用相同的逻辑,然后使用admin_order_field属性。当然,你仍然需要将新的管理字段添加到list_display。
from django.db.models import Countclass EventAdmin(admin.ModelAdmin) list_display = (..., 'show_artist_count') def queryset(self, request): # def get_queryset(self, request): for Django 1.6+ qs = super(EventAdmin, self).queryset(request) return qs.annotate(artist_count=Count('artists')) def show_artist_count(self, inst): return inst.artist_count show_artist_count.admin_order_field = 'artist_count'


