forked from enviPath/enviPy
[Feature] Management Command to Compute and Store Reaction <-> Rule Associations (#453)
Co-authored-by: Tim Lorsbach <tim@lorsba.ch> Reviewed-on: enviPath/enviPy#453
This commit is contained in:
@ -1730,6 +1730,14 @@ class SequentialRuleOrdering(models.Model):
|
||||
order_index = models.IntegerField(null=False, blank=False)
|
||||
|
||||
|
||||
class ReactionExplanation(TimeStampedModel):
|
||||
run_uuid = models.UUIDField(null=False, blank=False)
|
||||
run_start = models.DateTimeField(null=False, blank=False)
|
||||
reaction = models.ForeignKey("epdb.Reaction", on_delete=models.CASCADE)
|
||||
rule = models.ForeignKey("epdb.Rule", on_delete=models.CASCADE)
|
||||
exact = models.BooleanField(default=False)
|
||||
|
||||
|
||||
class Reaction(
|
||||
EnviPathModel, AliasMixin, ScenarioMixin, ReactionIdentifierMixin, AdditionalInformationMixin
|
||||
):
|
||||
@ -1755,6 +1763,12 @@ class Reaction(
|
||||
|
||||
external_identifiers = GenericRelation("ExternalIdentifier")
|
||||
|
||||
explained_by = models.ManyToManyField(
|
||||
"epdb.Rule",
|
||||
through="ReactionExplanation",
|
||||
related_name="explained_reactions",
|
||||
)
|
||||
|
||||
def _url(self):
|
||||
return "{}/reaction/{}".format(self.package.url, self.uuid)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user