brewery-website/kegs/models.py
2024-05-30 16:26:55 -04:00

38 lines
1.1 KiB
Python

from django.db import models
from django.utils import timezone
from reportlab.graphics.barcode.qr import QrCodeWidget
import logging
logger = logging.getLogger('django')
class CustomModel(models.Model):
""" Custom model class with default fields to use. """
created_date = models.DateTimeField(default=timezone.now)
class Meta:
abstract = True
class State(CustomModel):
name = models.CharField(max_length=100)
def __str__(self):
return self.name
class KegType(CustomModel):
name = models.CharField(max_length=100)
manufacturer = models.CharField(max_length=100, blank=True)
size_gal = models.DecimalField(max_digits=6, decimal_places=2)
def __str__(self):
return self.name
class Keg(CustomModel):
kegtype = models.ForeignKey(KegType, on_delete=models.PROTECT)
kegstate = models.ForeignKey(State, on_delete=models.PROTECT)
class TransactionType(CustomModel):
name = models.CharField(max_length=100)
class BatchTransactions(CustomModel):
models.ForeignKey(Keg, on_delete=models.CASCADE)
models.ForeignKey(TransactionType, on_delete=models.PROTECT)