@@ -612,7 +612,12 @@ def setup_dynamic_model(
612612 "is_dynamic_model_managed" , False
613613 )
614614 workspace = DataPublisher (None ).workspace
615- user_datasets = Dataset .objects .filter (owner = username , alternate__iexact = f"{ workspace .name } :{ layer_name } " )
615+
616+ if resource_pk := orchestrator .get_execution_object (execution_id ).input_params .get ("resource_pk" , None ):
617+ user_datasets = Dataset .objects .filter (owner = username , pk = resource_pk )
618+ else :
619+ user_datasets = Dataset .objects .filter (owner = username , alternate__iexact = f"{ workspace .name } :{ layer_name } " )
620+
616621 dynamic_schema = ModelSchema .objects .filter (name__iexact = layer_name )
617622
618623 dynamic_schema_exists = dynamic_schema .exists ()
@@ -624,6 +629,7 @@ def setup_dynamic_model(
624629 we just take the dynamic_model to overwrite the existing one
625630 """
626631 dynamic_schema = dynamic_schema .get ()
632+ layer_name = user_datasets .first ().alternate .split (":" )[- 1 ]
627633 elif not dataset_exists and not dynamic_schema_exists :
628634 """
629635 cames here when is a new brand upload or when (for any reasons) the dataset exists but the
@@ -687,14 +693,15 @@ def create_dynamic_model_fields(
687693
688694 # definition of the celery group needed to run the async workflow.
689695 # in this way each task of the group will handle only 30 field
696+ layer_name = layer .GetName () if not isinstance (layer , str ) else layer_name
690697 celery_group = group (
691698 create_dynamic_structure .s (
692699 execution_id ,
693700 schema ,
694701 dynamic_model_schema .id ,
695702 overwrite ,
696703 layer_name ,
697- layer_key = create_layer_key (layer . GetName () , str (execution_id )),
704+ layer_key = create_layer_key (layer_name , str (execution_id )),
698705 )
699706 for schema in list_chunked
700707 )
0 commit comments