interview/src/modules/inventory/models.py

20 lines
762 B
Python

from django.db import models
class Product(models.Model):
# https://git.disroot.org/nsukami/interview/src/branch/feat-1/src/modules/inventory/tests.py#L59
description = models.CharField(max_length=200)
unit_price = models.FloatField()
stock = models.IntegerField()
# https://git.disroot.org/nsukami/interview/src/branch/feat-1/src/modules/orders/tests.py#L111
# a product stock should be refreshed after an order is made
def refresh_from_db(self):
from modules.orders.models import OrderItem
# self.stock = self.stock - sum((oi.quantity for oi in self.orderitem_set.all()))
self.stock = self.stock - sum(
oi.quantity for oi in OrderItem.objects.filter(id=self.id)
)
self.save()