# 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()
Como eu poderia classificar os clientes, dependendo number_of_orders
deles?
admin_order_field
A propriedade não pode ser usada aqui, pois requer um campo de banco de dados para classificação. É possível, já que o Django depende do banco de dados subjacente para realizar a classificação? Criar um campo agregado para conter o número de pedidos parece um exagero aqui.
O mais divertido: se você alterar o URL manualmente no navegador para classificar nesta coluna - ele funcionará conforme o esperado!