小编ali*_*dil的帖子

Django admin:如何通过自定义方法对列进行排序

 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'))).有没有办法为我或我的情况调整这个解决方案,还有另一种解决方案吗?

django django-admin

13
推荐指数
1
解决办法
8419
查看次数

标签 统计

django ×1

django-admin ×1