@@ -15,29 +15,38 @@ def resource_mapping(apps, schema_editor):
1515 from application .models import Application
1616 from knowledge .models import KnowledgeWorkflow
1717 resource_mapping_list = []
18- for application in QuerySet (Application ):
19- workflow_mapping = get_workflow_resource (application .work_flow ,
20- get_node_handle_callback (ResourceType .APPLICATION ,
21- application .id ))
22- instance_mapping = get_instance_resource (application , ResourceType .APPLICATION , str (application .id ),
23- ResourceType .MODEL ,
24- [lambda i : i .tts_model_id , lambda i : i .stt_model_id , ])
25- resource_mapping_list += workflow_mapping
26- resource_mapping_list += instance_mapping
27- knowledge_workflow_dict = {str (kw .knowledge_id ): kw for kw in QuerySet (KnowledgeWorkflow )}
28- for knowledge in QuerySet (Knowledge ):
29- knowledge_workflow = knowledge_workflow_dict .get (str (knowledge .id ))
30- if knowledge_workflow :
31- workflow_mapping = get_workflow_resource (knowledge_workflow .work_flow ,
32- get_node_handle_callback (ResourceType .KNOWLEDGE ,
33- str (knowledge_workflow .knowledge_id )))
18+ ids = list (Application .objects .values_list ('id' , flat = True ))
19+ for app_id in ids :
20+ try :
21+ application = Application .objects .get (id = app_id )
22+ workflow_mapping = get_workflow_resource (application .work_flow ,
23+ get_node_handle_callback (ResourceType .APPLICATION ,
24+ application .id ))
25+ instance_mapping = get_instance_resource (application , ResourceType .APPLICATION , str (application .id ),
26+ ResourceType .MODEL ,
27+ [lambda i : i .tts_model_id , lambda i : i .stt_model_id , ])
3428 resource_mapping_list += workflow_mapping
35- instance_mapping = get_instance_resource (knowledge , ResourceType .KNOWLEDGE , str (knowledge .id ),
36- ResourceType .MODEL ,
37- [lambda i : i .embedding_model_id ])
38-
39- resource_mapping_list += instance_mapping
29+ resource_mapping_list += instance_mapping
30+ except :
31+ continue
32+ knowledge_ids = list (Knowledge .objects .values_list ('id' , flat = True ))
33+ for knowledge_id in knowledge_ids :
34+ try :
35+ knowledge = Knowledge .objects .get (id = knowledge_id )
36+ if knowledge .type == 4 :
37+ knowledge_workflow = QuerySet (KnowledgeWorkflow ).filter (knowledge_id = knowledge_id ).first ()
38+ if knowledge_workflow :
39+ workflow_mapping = get_workflow_resource (knowledge_workflow .work_flow ,
40+ get_node_handle_callback (ResourceType .KNOWLEDGE ,
41+ str (knowledge_workflow .knowledge_id )))
42+ resource_mapping_list += workflow_mapping
43+ instance_mapping = get_instance_resource (knowledge , ResourceType .KNOWLEDGE , str (knowledge .id ),
44+ ResourceType .MODEL ,
45+ [lambda i : i .embedding_model_id ])
4046
47+ resource_mapping_list += instance_mapping
48+ except :
49+ continue
4150 QuerySet (ResourceMapping ).bulk_create (resource_mapping_list )
4251
4352
0 commit comments