diff --git a/beat/web/utils/management/commands/restore.py b/beat/web/utils/management/commands/restore.py index 1011d694ac84bbd7636c69416e47eea0c3308e81..bd710aea04de41fd05ca7b4ee8d3cd81c86f29ee 100644 --- a/beat/web/utils/management/commands/restore.py +++ b/beat/web/utils/management/commands/restore.py @@ -46,6 +46,7 @@ import django.core.serializers.base from django.contrib.auth.models import User from ....navigation.models import Agreement from ....accounts.models import AccountSettings +from ....experiments.models import Experiment, Block _original_save = django.core.serializers.base.DeserializedObject.save @@ -152,3 +153,9 @@ class Command(BaseCommand): # removes the temporary directory shutil.rmtree(tmpdir) + + # reset all experiments in a transient state (notice Job and + # JobSplit are not backed-up because of circular dependence issues + # on the "experiments" app). + transient = (Experiment.RUNNING, Experiment.CANCELING) + for e in Experiment.objects.filter(status__in=transient): e.reset()