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()
创建新字段是错误的,但我不能这样做:
admin_amount.admin_order_field = 'admin_amount'
我发现了类似的问题,但我遇到了重写 queryset() 方法的问题(不能写类似的东西qs.warehouse_set.all().annotate(models.Sum('amount'))
)。有什么方法可以为我调整这个解决方案,或者在我的情况下,还有另一种解决方案吗?