Я хочу суммировать текущее количество каждого товара в админке django.На странице элемента у каждого элемента есть столбец, и я хочу показать номер в каждом столбце элемента.Это моя модель:
from django.contrib.auth.models import User
from django.db import models
class Item(models.Model):
item_name = models.CharField(max_length=128)
class In(models.Model):
in_date = models.DateTimeField()
item = models.ForeignKey(Item, on_delete=models.CASCADE, related_name='ins')
quantities = models.IntegerField()
class Out(models.Model):
out_date = models.DateTimeField()
item = models.ForeignKey(Item, on_delete=models.CASCADE, related_name='outs')
quantities = models.IntegerField()
Model In означает наличие на складе, Out означает отсутствие на складе
Я пишу функции в моем admin.py, как показано ниже:
class ItemAdmin(admin.ModelAdmin):
list_display = ['item_name', 'pattern', 'vendor', 'item_ins', 'item_outs']
def item_ins(self, obj):
return obj.ins.aggregate(Sum('quantities')).get('quantities__sum')
item_ins.short_description = 'stock-in'
def item_outs(self, obj):
return obj.outs.aggregate(Sum('quantities')).get('quantities__sum')
item_outs.short_description = 'stock-out'
Я уже знал, как агрегировать общее количество на складе / на складе для каждого товара, но я не знаю, как получить текущее количество на складе (запас на складе вычтено) для каждого товара.
Пожалуйста, помогите мне!Спасибо!