# 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
Тут не можна використовувати властивість, оскільки для сортування потрібне поле бази даних. Чи взагалі це можливо, оскільки Джанго покладається на базовий БД для сортування? Створення сукупного поля, яке б містило кількість замовлень, тут здається непосильним.
Найцікавіше: якщо ви змінили URL-адресу вручну в браузері, щоб сортувати цей стовпець - він працює як очікувалося!