All checks were successful
Build containers when image tags change / build-if-image-changed (., web, containers, main container, git.baumann.gr/adebaumann/vui) (push) Successful in 31s
Build containers when image tags change / build-if-image-changed (data-loader, loader, initContainers, init-container, git.baumann.gr/adebaumann/vui-data-loader) (push) Successful in 8s
38 lines
1.2 KiB
Python
38 lines
1.2 KiB
Python
from django.db import models
|
|
from mptt.models import MPTTModel, TreeForeignKey
|
|
from abschnitte.models import Textabschnitt
|
|
|
|
# Create your models here.
|
|
class Referenz(MPTTModel):
|
|
id = models.AutoField(primary_key=True)
|
|
name_nummer = models.CharField(max_length=100)
|
|
name_text=models.CharField(max_length=255, blank=True)
|
|
oberreferenz = TreeForeignKey(
|
|
'self', null=True, blank=True, on_delete=models.SET_NULL, related_name='unterreferenzen'
|
|
)
|
|
url = models.URLField(blank=True)
|
|
|
|
def Path(self):
|
|
path = " → ".join([x.name_nummer for x in self.get_ancestors(include_self=True)])
|
|
if self.name_text:
|
|
path += " (%s)" % self.name_text
|
|
return path
|
|
|
|
class MPTTMeta:
|
|
parent_attr = 'oberreferenz' # optional, but safe
|
|
order_insertion_by = ['name_nummer']
|
|
|
|
def __str__(self):
|
|
return self.Path()
|
|
|
|
class Meta:
|
|
verbose_name_plural="Referenzen"
|
|
verbose_name="Referenz"
|
|
|
|
class Referenzerklaerung (Textabschnitt):
|
|
erklaerung = models.ForeignKey(Referenz,on_delete=models.CASCADE)
|
|
|
|
class Meta:
|
|
verbose_name="Erklärung"
|
|
verbose_name_plural="Erklärungen"
|