devicehub-django/lot/models.py

42 lines
1.3 KiB
Python

from django.db import models
from django.utils.translation import gettext_lazy as _
from utils.constants import STR_SM_SIZE, STR_SIZE
from user.models import User
from device.models import Device
class Lot(models.Model):
class Types(models.TextChoices):
INCOMING = "Incoming"
OUTGOING = "Outgoing"
TEMPORAL = "Temporal"
created = models.DateTimeField(auto_now_add=True)
updated = models.DateTimeField(auto_now=True)
type = models.CharField(max_length=STR_SM_SIZE, choices=Types, default=Types.TEMPORAL)
name = models.CharField(max_length=STR_SIZE, blank=True, null=True)
code = models.CharField(max_length=STR_SIZE, blank=True, null=True)
description = models.CharField(max_length=STR_SIZE, blank=True, null=True)
closed = models.BooleanField(default=True)
owner = models.ForeignKey(User, on_delete=models.CASCADE)
devices = models.ManyToManyField(Device)
@property
def is_incoming(self):
if self.type == self.Types.INCOMING:
return True
return False
@property
def is_outgoing(self):
if self.type == self.Types.OUTGOING:
return True
return False
@property
def is_temporal(self):
if self.type == self.Types.TEMPORAL:
return True
return False