@@ -94,7 +94,8 @@ def create_training(session: SessionDep, info: DataTrainingInfo, oid: int, trans
9494
9595 exists = session .query (
9696 session .query (DataTraining ).filter (
97- and_ (DataTraining .question == info .question , DataTraining .oid == oid )).exists ()).scalar ()
97+ and_ (DataTraining .question == info .question , DataTraining .oid == oid ,
98+ DataTraining .datasource == info .datasource )).exists ()).scalar ()
9899 if exists :
99100 raise Exception (trans ("i18n_data_training.exists_in_db" ))
100101
@@ -114,8 +115,10 @@ def create_training(session: SessionDep, info: DataTrainingInfo, oid: int, trans
114115
115116
116117def update_training (session : SessionDep , info : DataTrainingInfo , oid : int , trans : Trans ):
118+ if info .datasource is None :
119+ raise Exception (trans ("i18n_data_training.datasource_cannot_be_none" ))
120+
117121 count = session .query (DataTraining ).filter (
118- DataTraining .oid == oid ,
119122 DataTraining .id == info .id
120123 ).count ()
121124 if count == 0 :
@@ -124,13 +127,15 @@ def update_training(session: SessionDep, info: DataTrainingInfo, oid: int, trans
124127 exists = session .query (
125128 session .query (DataTraining ).filter (
126129 and_ (DataTraining .question == info .question , DataTraining .oid == oid ,
130+ DataTraining .datasource == info .datasource ,
127131 DataTraining .id != info .id )).exists ()).scalar ()
128132 if exists :
129133 raise Exception (trans ("i18n_data_training.exists_in_db" ))
130134
131135 stmt = update (DataTraining ).where (and_ (DataTraining .id == info .id )).values (
132136 question = info .question ,
133137 description = info .description ,
138+ datasource = info .datasource ,
134139 )
135140 session .execute (stmt )
136141 session .commit ()
0 commit comments