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:
@ -44,20 +44,25 @@ class Command(BaseCommand):
|
||||
"EPModel",
|
||||
"ApplicabilityDomain",
|
||||
"EnzymeLink",
|
||||
"AdditionalInformation",
|
||||
]
|
||||
for model in MODELS:
|
||||
obj_cls = apps.get_model("epdb", model)
|
||||
obj_cls.objects.update(
|
||||
url=Replace(F("url"), Value(options["old"]), Value(options["new"]))
|
||||
)
|
||||
if issubclass(obj_cls, EnviPathModel):
|
||||
obj_cls.objects.update(
|
||||
kv=Cast(
|
||||
Replace(
|
||||
Cast(F("kv"), output_field=TextField()),
|
||||
Value(options["old"]),
|
||||
Value(options["new"]),
|
||||
),
|
||||
output_field=JSONField(),
|
||||
)
|
||||
|
||||
update_fields = {"url": Replace(F("url"), Value(options["old"]), Value(options["new"]))}
|
||||
if hasattr(obj_cls, "description"):
|
||||
update_fields["description"] = Replace(
|
||||
F("description"), Value(options["old"]), Value(options["new"])
|
||||
)
|
||||
|
||||
if issubclass(obj_cls, EnviPathModel):
|
||||
update_fields["kv"] = Cast(
|
||||
Replace(
|
||||
Cast(F("kv"), output_field=TextField()),
|
||||
Value(options["old"]),
|
||||
Value(options["new"]),
|
||||
),
|
||||
output_field=JSONField(),
|
||||
)
|
||||
|
||||
obj_cls.objects.update(**update_fields)
|
||||
|
||||
Reference in New Issue
Block a user