当使用 CookComputing (XML-RPC.net) 尝试在只有一个条件的 mail.notification 模型上进行搜索时,这相当简单,因为您只需调用:
object[] args = new object[1];
object[] subargs = new object[3];
subargs[0] = "partner_id";
subargs[1] = "=";
subargs[2] = partner_id.ToString();
int[] message_count = odooNewProxy.Search(database, userId, odoo_password, "mail.notification", "search", args);
搜索的定义如下:
[XmlRpcMethod("execute")]
int[] Search(string dbName, int userId, string pwd, string model, string method, object[] filters);
您将立即得到结果。当您想调用两个或多个条件搜索时,真正的问题就来了——例如 [('partner_id', '=', 3), ('is_read', '=', False)]
。有人对此有任何线索吗?我试过传递包含两个对象(一个带有 partner_id,一个带有 is_read)的单个对象 - 这会起作用,但 Odoo 也将其作为一个 3 对象域,在 [] 中添加 partner_id。尝试使用字符串,尝试使用带有 6 个子参数的一个对象 - 似乎没有任何效果。任何帮助将不胜感激。
最佳答案
试试这个方法:
object[] args= new object[] {
new object[] { "move_lines", "!=", null },
new object[] { "state", "!=", "done"}
};
关于c# - XML-RPC Odoo - C# 多个搜索条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33333185/