add function to merge data and return as dict

This commit is contained in:
2023-05-23 17:38:58 +02:00
parent 549d9aec61
commit 38a083cdc3

View File

@@ -33,7 +33,27 @@ class Material(Document):
reverse_delete_rule=DO_NOTHING) reverse_delete_rule=DO_NOTHING)
tags = ListField(StringField()) 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 = { meta = {
'allow_inheritance': True, 'allow_inheritance': True,
@@ -73,19 +93,7 @@ class Bitumen(Material):
parameter = ReferenceField(Material) parameter = ReferenceField(Material)
limits = LazyReferenceField(EnumerateBase) 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, required=True,
reverse_delete_rule=CASCADE) #Lieferkörnung reverse_delete_rule=CASCADE) #Lieferkörnung
class Dummy(Material): class Dummy(Material):