credativ team mailing list archive
-
credativ team
-
Mailing list archive
-
Message #03447
[Bug 916380] Re: issue with normalize function
For the record, here is the answer I provided on the converted question:
The domain you are passing to search() is not valid, and the assert fails because of that. You need to remember that OpenERP domains uses prefix operators, so the operator must be *before* its operands.
As OR (|) is a binary operator (it takes 2 operands), it should always be used in this form: ['|', A, B]. Here you seem to be using it also as infix operator between the operands: ['|', A, '|', B, '|', C]. which will *not* work.
Here are 2 proper way to OR 3 operands:
1. [ '|', '|', A, B, C ] <== ((A OR B) OR C)
2. [ '|', A, '|', B, C ] <== (A OR (B OR C))
Taking the first way, you code should be:
ids = self.search(cr, uid, ['|', '|', ('from_pty_id', 'in', (1, 2)), ('to_pty_id', 'in', (3, 4)), ('pty_rel_tye_id', 'in', (5, 6))],
limit=limit, context=context)
Hope this helps
--
You received this bug notification because you are a member of OpenERP
Framework Experts, which is subscribed to OpenERP Server.
https://bugs.launchpad.net/bugs/916380
Title:
issue with normalize function
Status in OpenERP Server:
Invalid
Bug description:
Hi,
I'm testing with openerp server trunk 6.1rc1, rev 3963.
My code is like this:
===
ids = self.search(cr, uid, ['|', ('from_pty_id', 'in', (1, 2)), '|', ('to_pty_id', 'in', (3, 4)), '|', ('pty_rel_tye_id', 'in', (5, 6))], limit=limit, context=context)
===
I face an assertion as below
===
File "/usr/local/lib/python2.7/dist-packages/openerp-6.1rc1-py2.7.egg/openerp/osv/expression.py", line 184, in normalize
assert expected == 0
===
I checked this file, and found that the function logic may be cracked
when encountering the above domain arguments. expected variable at the
end of the loop equals 1. This makes the above assertion while the
above search statement is right.
Thanks,
To manage notifications about this bug go to:
https://bugs.launchpad.net/openobject-server/+bug/916380/+subscriptions
References