浏览代码

relational fields in the delete_related method

Roland Haroutiounian 9 年前
父节点
当前提交
4a4204de17
共有 1 个文件被更改,包括 16 次插入5 次删除
  1. 16
    5
      leobject/datasources/ledatasourcesql.py

+ 16
- 5
leobject/datasources/ledatasourcesql.py 查看文件

233
     ## @brief Deletes the relation between 2 LeType
233
     ## @brief Deletes the relation between 2 LeType
234
     # @param lesup LeType
234
     # @param lesup LeType
235
     # @param lesub LeType
235
     # @param lesub LeType
236
+    # @param fields dict
236
     # @return True if success else False
237
     # @return True if success else False
237
     # @todo Add fields parameter to identify relation
238
     # @todo Add fields parameter to identify relation
238
     # @todo Delete relationnal fields if some exists
239
     # @todo Delete relationnal fields if some exists
239
-    def del_related(self, lesup, lesub):
240
+    def del_related(self, lesup, lesub, fields=None):
240
         with self.connection as cur:
241
         with self.connection as cur:
242
+            del_params = {
243
+                'id_sup': lesup.lodel_id,
244
+                'id_sub': lesub.lodel_id
245
+            }
246
+            delete_params = {}
247
+
248
+            if fields is not None:
249
+                delete_params = del_params.copy()
250
+                delete_params.update(fields)
251
+            else:
252
+                delete_params = del_params
253
+
254
+
241
             sql = delete(
255
             sql = delete(
242
                 self.datasource_utils.relations_table_name,
256
                 self.datasource_utils.relations_table_name,
243
-                {
244
-                    'id_sup': lesup.lodel_id,
245
-                    'id_sub': lesub.lodel_id
246
-                }
257
+                delete_params
247
             )
258
             )
248
 
259
 
249
             if cur.execute(sql) != 1:
260
             if cur.execute(sql) != 1:

正在加载...
取消
保存