# admin.py
class CustomerAdmin(admin.ModelAdmin):
list_display = ('foo', 'number_of_orders')
# models.py
class Order(models.Model):
bar = models.CharField[...]
customer = models.ForeignKey(Customer)
class Customer(models.Model):
foo = models.CharField[...]
def number_of_orders(self):
return u'%s' % Order.objects.filter(customer=self).count()
如何根据客户对客户进行分类number_of_orders
?
admin_order_field
属性不能在这里使用,因为它需要一个数据库字段进行排序。由于Django依赖底层数据库执行排序,这有可能吗?创建一个包含订单数量的汇总字段似乎在这里是过大的。
有趣的是:如果您在浏览器中手动更改url以在此列上进行排序-它将按预期工作!
“有趣的是:如果您在浏览器中手动更改url以在此列上进行排序-它将按预期工作!” 您的意思是:/ admin / myapp / customer /?ot = asc&o = 2您确定吗?
—
安迪·贝克
是的,无论是asc还是dsc。也许它只适用于小数。
—
mike_k 2010年
我认为它不能用于多个页面。
—
Chase Seibert'2