Add consist app

This commit is contained in:
2022-04-02 12:43:40 +02:00
parent 44b93bd5e8
commit 915bc13575
17 changed files with 266 additions and 3 deletions

53
dcc/consist/models.py Normal file
View File

@@ -0,0 +1,53 @@
from uuid import uuid4
from django.db import models
from metadata.models import Company, Tag
from roster.models import RollingStock
class Consist(models.Model):
uuid = models.UUIDField(
primary_key=True, default=uuid4,
editable=False)
identifier = models.CharField(max_length=128, unique=False)
tags = models.ManyToManyField(
Tag,
related_name='consist',
blank=True)
address = models.SmallIntegerField(default=None, null=True, blank=True)
company = models.ForeignKey(
Company, on_delete=models.CASCADE,
null=True, blank=True)
epoch = models.CharField(max_length=32, blank=True)
notes = models.TextField(blank=True)
creation_time = models.DateTimeField(auto_now_add=True)
updated_time = models.DateTimeField(auto_now=True)
def __str__(self):
return "{0}".format(self.identifier)
class ConsistItem(models.Model):
consist = models.ForeignKey(
Consist, on_delete=models.CASCADE)
rolling_stock = models.ForeignKey(
RollingStock, on_delete=models.CASCADE)
order = models.PositiveIntegerField(default=0, blank=False, null=False)
class Meta(object):
ordering = ['order']
def __str__(self):
return "{0}".format(self.rolling_stock.identifier)
# def type(self):
# return self.rolling_stock.type
def address(self):
return self.rolling_stock.address
def company(self):
return self.rolling_stock.company
def epoch(self):
return self.rolling_stock.epoch