Django admin: cómo ordenar la columna por método personalizado
class Item(models.Model):
name = models.CharField(max_length=100, unique=True)
def admin_amount(self):
total = self.warehouse_set.all().aggregate(item=Sum('amount'))
return total['item']
class Warehouse(models.Model):
name = models.CharField(max_length=100, unique=True)
item = models.ForeignKey('Item', blank=True, null=True)
amount = models.IntegerField()
Crear un nuevo campo es incorrecto, pero no puedo hacer algo como:
admin_amount.admin_order_field = 'admin_amount'
encontrépregunta similar pero encontré un problema con la reescritura del método queryset () (no se puede escribir algo comoqs.warehouse_set.all().annotate(models.Sum('amount'))
). ¿Hay alguna forma de adaptar esta solución para mí o, en mi caso, hay otra solución?