bistro/backend/app/models.py

55 lines
1.5 KiB
Python
Raw Normal View History

2024-12-16 16:35:12 +01:00
from django.db import models
from django.utils.translation import gettext_lazy as _
# Create your models here.
class Waiter(models.Model):
name = models.CharField(_('Imię i nazwisko'), max_length=120)
def __str__(self):
return self.name
class Meta:
verbose_name = _("Kelner")
verbose_name_plural = _("Kelnerzy")
class Meal(models.Model):
name = models.TextField(_('Danie'))
def __str__(self):
return self.name
class Meta:
verbose_name = _("Danie")
verbose_name_plural = _("Dania")
class Order(models.Model):
created_on = models.DateTimeField(_('Utworzono'), auto_now_add=True)
updated_on = models.DateTimeField(_('Zaktualizowano'), auto_now=True)
waiter = models.ForeignKey(
Waiter, models.SET_NULL, related_name='orders', verbose_name=_('Kelner'), null=True
)
data = models.JSONField(_('Dane zamówienia'), default=dict)
class StatusChoices(models.IntegerChoices):
ORDERED = (1, _('Zamówienie złożone'))
IN_PROGRESS = (2, ('Zamówienie w trakcie przygotowywania'))
READY = (3, _('Zamówienie gotowe'))
FINALIZED = (4, _('Zamówienie skończone'))
status = models.PositiveSmallIntegerField(
_('Status zamówienia'),
choices=StatusChoices.choices,
default=StatusChoices.ORDERED,
)
def __str__(self):
return self.id
class Meta:
verbose_name = _("Zamówienie")
verbose_name_plural = _("Zamówienia")