from django.db import models
from specie.models import Specie
from supplier.models import Supplier
class Shipment(models.Model):
supplier = models.ForeignKey(
Supplier, null=True, on_delete=models.DO_NOTHING)
created = models.DateTimeField(auto_now_add=True)
label = models.CharField(max_length=10)
specie = models.OneToOneField(Specie, on_delete=models.DO_NOTHING)
received = models.PositiveIntegerField(default=0)
bad = models.PositiveIntegerField(default=0)
non = models.PositiveIntegerField(default=0)
doa = models.PositiveIntegerField(default=0)
para = models.PositiveIntegerField(default=0)
released = models.PositiveIntegerField(blank=True)
entered = models.BooleanField(default=False)
# override save method
def save(self, *args, **kwargs):
self.bad + self.non + self.doa + self.para
self.released = self.received - \
(self.bad + self.non + self.doa + self.para)
super().save(*args, **kwargs)
def date_trunc_field(self):
return self.created.date()
def __str__(self):
return f"{str(self.supplier)} - {self.label} - {self.specie.scientific_name} - {self.created.strftime('%Y-%m-%d')}"
class Meta:
ordering = ["label"]