目前,在c#中开发一些代码,以便使用Odoo API在c#中使用循环逐个将记录插入res.partner(Contacts)。
但我想通过一次Odoo API调用插入所有记录,这可能吗?
请看一下我现有的代码。
foreach (var loCustomer in loCustomeresList)
{
if (!string.IsNullOrEmpty(loCustomer.lsName))
{
loRecordPairCompany = new XmlRpcStruct();
loRecordPairCompany.Add("name", loCustomer.lsCustomerID);
loRecordPairCompany.Add("Phone_Number", loCustomer.lsPhoneNumber);
loRecordPairCompany.Add("email", loCustomer.lsEmail);
loRecordPairCompany.Add("website", loCustomer.lsWebsite);
loRecordPairCompany.Add("property_payment_term_id", loCustomer.liCustomerPaymentTerm);
loRecordPairCompany.Add("is_company", true);
int liCompanyID = loRpcRecord.create(Common.lsDbName, liUserid, Common.lsDbPassword, "res.partner", "create", loRecordPairCompany);
}
}
最佳答案
目前(直到奥多v11)这是不可能的。最近,对于master(未来的Odoo v12),有一个核心开发人员请求创建多个记录。你可以找到它here。但那对你没有帮助。
您可以编写自己的ORM方法,比如“create_in_batch”,它可以接受您的输入并在Odoo端(服务器端)执行create()
的多次调用。