Django admin: como ordenar coluna 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()
Criar novo campo está errado, mas eu não posso fazer algo como:
admin_amount.admin_order_field = 'admin_amount'
eu encontreipergunta semelhante mas eu encontrei um problema com a reescrita do método queryset () (não posso escrever algo comoqs.warehouse_set.all().annotate(models.Sum('amount'))
). Existe alguma maneira de adaptar esta solução para mim ou no meu caso, existe outra solução?