Python's set does not preserve the insertion order which results in wrong error reporting
When we introduced the multiple insertion feature in 13624e0fa4a2 we used a set in db_insert
to store the fields.
When an error occurs the initial inserted value is recomposed using recomposed = dict(zip(fields, value[skip:]))
Unfortunately, the sets in python do not preserve the insertion order and thus in some case the underlying function will try to apply some function to incompatible type (eg: trying to cast to int
a Many2One but the value provided is a string) resulting in wrong error reporting.