это немного сложно, вот как выглядит моя модель:
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)
, что мне нужно сделать, это:
- Набор запросов типа
warehouse.objects.filter(branch=spicific_branch)
- сгруппируйте его по имени элемента , чтобы он отображал все наборы запросов, которые имеют одинаковые
item
как один результат - Получите сумму поля
quantity
- Определите, перемещается ли
in
или out
, чтобы получить текущее количество на складе