forked from enviPath/enviPy
[Feature] Attach AdditionalInformation to Nodes (#428)
Co-authored-by: Tim Lorsbach <tim@lorsba.ch> Reviewed-on: enviPath/enviPy#428
This commit is contained in:
@ -2455,7 +2455,7 @@ class Node(EnviPathModel, AliasMixin, ScenarioMixin, AdditionalInformationMixin)
|
||||
"name": self.get_name(),
|
||||
"plain_name": self.get_name(include_suffix=False),
|
||||
"smiles": self.default_node_label.smiles,
|
||||
"scenarios": [{"name": s.get_name(), "url": s.url} for s in self.scenarios.all()],
|
||||
"scenarios": [{"name": s.get_name(), "url": s.url} for s in self.get_scenarios()],
|
||||
"app_domain": {
|
||||
"inside_app_domain": app_domain_data["assessment"]["inside_app_domain"]
|
||||
if app_domain_data
|
||||
@ -2583,6 +2583,15 @@ class Node(EnviPathModel, AliasMixin, ScenarioMixin, AdditionalInformationMixin)
|
||||
|
||||
return list(collected.values())
|
||||
|
||||
def get_scenarios(self):
|
||||
qs = self.scenarios.all()
|
||||
qs |= Scenario.objects.filter(
|
||||
id__in=self.additional_information.filter(scenario__isnull=False)
|
||||
.values_list("scenario", flat=True)
|
||||
.distinct()
|
||||
)
|
||||
return qs.distinct()
|
||||
|
||||
|
||||
class Edge(EnviPathModel, AliasMixin, ScenarioMixin, AdditionalInformationMixin):
|
||||
pathway = models.ForeignKey(
|
||||
|
||||
Reference in New Issue
Block a user