Я пытаюсь создать простое приложение для инвентаризации, используя Django.Мой проект остановился, когда я не смог найти решение для расчета начального и конечного баланса на лету / динамически.Я пытался целыми днями исследовать Интернет, но пока не достиг прогресса.Если кто-то может помочь, я буду признателен.
Все, что мне нужно, это запрос для динамического расчета начального и конечного сальдо.
Мои модели:
class Item(models.Model):
name = models.CharField(max_length=30)
buying_price = models.PositiveIntegerField()
selling_price = models.PositiveIntegerField()
quantity = models.PositiveIntegerField()
def __str__(self):
return self.name
class SalesSheet(models.Model):
txn_date = models.DateField()
item = models.ForeignKey(Item, on_delete=models.CASCADE)
purchases = models.PositiveIntegerField()
sales = models.PositiveIntegerField()
Что я хочу послепроводка покупок и продаж является выводом, подобным этому
id date item opening purchases sales closing
1 1-1-19 abc 10 20 5 25
2 2-12-19 def 25 20 10 35
3 3-1-19 abc 25 10 25 10
4 4-1-19 def 35 10 30 15
5 7-1-19 abc 10 0 0 10
6 9-1-19 def 15 0 5 10
и т. д. .....
Я использую item.quantity для хранения начального запаса только в первый раз.
Примите во внимание, что будут различные элементы, а также записи с датой назад.
помогите мне, ребята.
Я попытался добавить эти функции в свои модели и использовать их для отображения открытия (открытие_баланс) и закрытие (закрытие_баланс) сальдо.Но проблема в том, что цикл не работает.
Идея заключалась в том, что если цикл работал, то начальный запас будет обновляться новым заключительным запасом при каждом запуске цикла.
class SalesSheet(models.Model):
txn_date = models.DateField()
item = models.ForeignKey(Item, on_delete=models.CASCADE)
purchases = models.PositiveIntegerField()
sales = models.PositiveIntegerField()
def opening_balance(self):
quantity = self.item.quantity
items = SalesSheet.objects.all()
for item in items:
opening = quantity
closing = opening + self.purchases - self.sales
quantity = closing
return opening
def closing_balance(self):
quantity = self.item.quantity
items = SalesSheet.objects.all()
for item in items:
opening = quantity
closing = opening + self.purchases - self.sales
quantity = closing
return closing