2017-06-29 95 views
2

從Odoo模型中的所有記錄按照Odoo 10的正式文件,從使用XMLRPC模型刪除數據的方式是:刪除使用XMLRPC

models.execute_kw(db, uid, password, 'res.partner', 'unlink', [[id]]) 

如果我要刪除所有res.partner記錄,該當我用'id'?

回答

2

首先瀏覽來自res.partner

all_id = models.execute_kw(db, uid, password, 
    'res.partner', 'search',[[[]]]) 

循環 'all_id' 的所有記錄,並通過ID在取消鏈接

for id in all_id: 
    models.execute_kw(db, uid, password, 'res.partner', 'unlink', [[id]]) 
+0

有了這個解決方案,您將發送每個記錄一個取消關聯請求。這不是很有效。 – Nope

+0

更好的解決方案是'models.execute_kw(db,uid,password,'res.partner','unlink',[all_id])'沒有循環。在我看來,最好的解決方案是在服務器上編寫一個方法,它將刪除所有res.partner記錄。然後,您可以從Web服務API調用此方法。 – Nope

+0

在我看來,最好的解決方案是在服務器上編寫一個方法,它將刪除所有res.partner記錄。然後,您可以從Web服務API調用此方法。 (這將是pythonic寫作的方式,感謝分享你的想法) –

0

正如odoo論壇告知:

models.execute_kw(db, uid, password, 'res.partner', 'unlink', []) 

似乎更容易。

另一種選擇:

search_ids = models.execute_kw(db, uid, password, 'res.partner', 'search', []) 
models.execute_kw(db, uid, password, 'res.partner', 'unlink', search_ids)