1.Change the material_request_line.sale_product_id to ondelete restrict.
2.Since the many2many field generated related table refer the target table using ondelete-cascade foreign key, and can not be change by code,
use sql to change the foreign key refered to cnc_id_rel table to ondelete restrict, to not allow the sale product id deleting once it is refered by work.order.cnc.sale_product_ids
Add the ID display and search in the list view
Do not allow change ID when there are stock move or cnc order related