首页 > 解决方案 > 如何将具有相同字段值的所有对象显示为 1 个结果并在 django 中聚合另一个字段

问题描述

这有点复杂,这是我的模型的样子:

class Warehouse(models.Model):
    in_move = "in"
    out_move = "out"
    move_type_choices = (
        (in_move, _('دخول')),
        (out_move, _('خروج'))
    )
    item = models.ForeignKey(Item, on_delete=models.CASCADE)
    branch = models.ForeignKey(Branch, on_delete=models.CASCADE)
    quantity = models.DecimalField(max_digits=6, decimal_places=2)
    move_type = models.CharField(choices=move_type_choices, max_length=120)
    text = models.CharField(max_length=1200)
    date = models.DateTimeField(auto_now=True)
    employee = models.ForeignKey(Employee, on_delete=models.PROTECT)

我需要做的是:

标签: pythondjango

解决方案


试试这个方法

branch_filter = warehouse.objects.filter(branch__name='spicific_branch')
item_sum = warehouse.objects.values('item__name' ).annotate(total_qty=Sum('quantity'))

推荐阅读