
Odoo中文社区可以通过以下两个域名访问:shine-it.net , odoo.net.cn
由于系统升迁的原因,本论坛部分较早期的内容存在格式和链接损坏失效的问题,并非本论坛系统本身的缺陷,望谅解
本社区没有维护任何QQ群讨论组,任何与本社区同名的QQ群讨论组的言论与本社区无关!
开发人员可以登录gitter讨论组: http://gitter.im/odoo-china/Talk, 需要github账号
如果您登录系统碰到问题,请在微信公众号留言:
求助:如何在 search 中为 order 指定一个 “复杂”的字段
-
ids = order_lines_obj.search(cr, uid, [],order='product_id.name')
我是要 类似这个效果
但是 order 里是不能这样写的,只能 是 简单的字段名 -
测试了一下,
ids = order_lines_obj.search(cr, uid, [],order='product_id')
这句生成的对应sql 如下,SELECT "sale_order_line".id <br />FROM "sale_order_line" <br />LEFT JOIN "product_product" as "sale_order_line__product_id" <br />ON ("sale_order_line"."product_id" = "sale_order_line__product_id"."id") <br />ORDER BY "sale_order_line__product_id"."default_code" ,"sale_order_line__product_id"."name_template"
经查, _name = "product.product"<br /> _order = 'default_code,name_template'
看来,product_id 这样的 many2one字段作为order 时,实际使用的是其 主表的 _order .
如此看来,前述需求就是要修改一下 "product.product" 的 _order 了
但是 不知道会不会动静 太大
有没有办法,仅仅在 本次 search 时,动态修改一下 "product.product" 的 _order 呢? -
建议给 line 加个 sequence 然后 保存时, 取 product.product__name 排个序. 然后 生成相应的 sequence.