Hi, I want to delete the records in the one2many fields when the original record that had them is deleted. I tried adding ondelete="cascade" to the one2many declaration but the records in the one2many table still remains when i delete the record holding it. How do i achieve this?
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- CRM
- e-Commerce
- Accounting
- Inventory
- PoS
- Project
- MRP
This question has been flagged
1
Reply
32479
Views
Hi,
You should put ondelete="cascade"
in the field relation id like here:
class sale_order(osv.osv):
_name = 'sale.order'
_columns = {
'name': fields.char('Order Reference', size=64, required=True, readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}, select=True),
'order_line': fields.one2many('sale.order.line', 'order_id', 'Order Lines', readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}),
....
sale_order()
class sale_order_line(osv.osv):
_name = 'sale.order.line'
_columns = {
'order_id': fields.many2one('sale.order', 'Order Reference', required=True, ondelete='cascade', select=True, readonly=True, states={'draft':[('readonly',False)]}),
.
.
.
sale_order_line()
Thanks, i was doing it the other way round. Now it solved the problem
Enjoying the discussion? Don't just read, join in!
Create an account today to enjoy exclusive features and engage with our awesome community!
Sign upRelated Posts | Replies | Views | Activity | |
---|---|---|---|---|
|
0
Mar 15
|
3168 | ||
|
2
May 24
|
9017 | ||
|
5
Jul 20
|
10553 | ||
|
5
Jan 24
|
16842 | ||
|
0
Sep 15
|
3686 |