dms/jci/models.py

44 lines
1.1 KiB
Python

from django.db import models
from closuretree.models import ClosureModel
class Section(models.Model):
name = models.CharField(max_length=255)
def __str__(self):
return self.name
class Meta:
ordering = ('name',)
class Headline(models.Model):
name = models.CharField(max_length=255)
section = models.ForeignKey(Section)
acronym = models.CharField(max_length=10)
overview = models.TextField(max_length=2000, null=True, blank=True)
def __str__(self):
return '{} - {}'.format(self.acronym, self.name)
class Meta:
ordering = ('name',)
class Standard(ClosureModel):
name = models.CharField(max_length=255)
parent = models.ForeignKey('self', related_name='children', null=True, blank=True)
headline = models.ForeignKey(Headline, related_name='standards')
order = models.IntegerField()
@property
def structure(self):
return '.'.join([str(x.order) for x in self.get_ancestors()] + [str(self.order)])
def __str__(self):
return '{}.{}'.format(self.headline.acronym, self.structure)
class Meta:
ordering = ('headline__acronym',)