目前,在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()的多次调用。

08-28 19:22