d93148240b
When a `noupdate` record is processed during an update, the update_dummy method marks the record as "seen" so it won't be deleted at the garbage collection step, and seen as an obsolete external ID. This needs to be done also for the parent records via _inherits, because they have also received an implicit external ID at creation, and must not be garbage collected, even if their `noupdate` flag (db side) is not set because the flag was added later. This rare problem could be reproduced by creating a product in a module, then referencing it in e.g. a sales order, then updating the module after changing the product record to be in a `noupdate` block. At the end of the update the implicit product.template record would be garbage collected, and trigger a cascade deletion of its children - blocked by the SO reference to the product. |
||
---|---|---|
.. | ||
base | ||
test_access_rights | ||
test_convert | ||
test_converter | ||
test_documentation_examples | ||
test_exceptions | ||
test_impex | ||
test_inherit | ||
test_inherits | ||
test_limits | ||
test_new_api | ||
test_uninstall | ||
test_workflow | ||
__init__.py |