Skip to Content
Menu
This question has been flagged
1 Reply
30928 Views

Hi, i am a newbie in odoo programming. I got this warning when creating  a One2many field relation, where I took the data from the Many2one field in the same model. 

Here is my custom code:

class ReferInherit(models.Model):
_inherit = 'qc.inspection'

reference_line = fields.One2many('qc.inspection', 'picking', readonly=False, store=True)

and I took the data from here:

class QcInspection(models.Model):
_inherit = 'qc.inspection'

@api.multi
@api.depends('object_id')
def _compute_picking(self):
for inspection in self:
inspection.picking = False
if inspection.object_id:
if inspection.object_id._name == 'stock.move':
inspection.picking = inspection.object_id.picking_id
elif inspection.object_id._name == 'stock.picking':
inspection.picking = inspection.object_id
elif inspection.object_id._name == 'stock.pack.operation':
inspection.picking = inspection.object_id.picking_id
    picking = fields.Many2one(comodel_name="stock.picking", compute="_compute_picking", store=True)

When I run it, I got this Warning:

The operation cannot be completed: another model requires the record being deleted. If possible, archive it instead.
Model: Quality control inspection (qc.inspection), Constraint: qc_inspection_picking_fkey

what's wrong with my code? and how to solve it? Sorry for my bad english and Thanks before.


Avatar
Discard
Author

Hi, Kanakinfosystems

Thanks for your answer.

This is very helpful. Your answer is so inspiring for me. Thanks a lot:)

Best Answer

Hi Ahmad,

Please see below code example for correct implementation of One2many relational field.

class QcInspection(models.Model):
    _name = 'qc.inspection'

    line_ids = fields.One2many(comodel_name='qc.inspection.line', inverse_name='inspection_id', string='Lines')

class QcInspectionLine(models.Model):
   _name = 'qc.inspection.line'

   inspection_id = fields.Many2one('comodel_name='qc.inspection', string="Inspection", ondelet="cascade")

Note:  Inverse field should not be computed, as per your code you are trying to compute value of picking fields.

Thanks.


Avatar
Discard
Related Posts Replies Views Activity
3
Dec 17
3232
1
Jul 19
12471
0
Apr 17
6001
1
Mar 23
783
0
Dec 22
1506