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