diff --git a/src/paveit/datamodels/material.py b/src/paveit/datamodels/material.py index ed51fc0..268c349 100755 --- a/src/paveit/datamodels/material.py +++ b/src/paveit/datamodels/material.py @@ -33,7 +33,27 @@ class Material(Document): reverse_delete_rule=DO_NOTHING) tags = ListField(StringField()) - norm = StringField(required=True, default='TP Asphalt Teil 24') + + def to_dict(self): + # convert data to dict + data = self.to_mongo().to_dict() + + # Laden und hinzufügen der referenzierten Daten + try: + data['parameter'] = self.parameter.to_mongo().to_dict() + except: + pass + + try: + norm = self.norm.fetch() # Trigger the dereferencing + data['norm'] = norm.to_mongo().to_dict() + except: + raise + + return data + + + meta = { 'allow_inheritance': True, @@ -73,19 +93,7 @@ class Bitumen(Material): parameter = ReferenceField(Material) limits = LazyReferenceField(EnumerateBase) - def to_dict(self): - # convert data to dict - data = self.to_mongo().to_dict() - # Laden und hinzufügen der referenzierten Daten - if self.parameter: - data['parameter'] = self.parameter.to_mongo().to_dict() - - - print(data) - - # Konvertieren Sie das BSON-Dokument in ein Python-Dict - return data @@ -125,6 +133,9 @@ class Aggregate(Material): required=True, reverse_delete_rule=CASCADE) #Lieferkörnung + + + class Dummy(Material):