Как показать все объекты с таким же значением поля как 1 результат и объединить другое поле в django - PullRequest
0 голосов
/ 06 февраля 2020

это немного сложно, вот как выглядит моя модель:

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, чтобы получить текущее количество на складе

1 Ответ

1 голос
/ 06 февраля 2020

Попробуйте вот так

branch_filter = warehouse.objects.filter(branch__name='spicific_branch')
item_sum = warehouse.objects.values('item__name' ).annotate(total_qty=Sum('quantity'))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...