odooodoo-18

"No matching record found for external id" error when loading ir.model.access.csv


I'm developing a custom module in Odoo (version X.X) called latihan_purchase. However, when I try to install or upgrade the module, I encounter the following error:

Exception: Module loading latihan_purchase failed: file latihan_purchase\security/ir.model.access.csv could not be processed:
No matching record found for external id 'model_latihan_purchase_line' in field 'Model'
Missing required value for the field 'Model' (model_id)

Here is the content of my ir.model.access.csv file:

id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_latihan_purchase,access_latihan_purchase,model_latihan_purchase,,1,1,1,1
access_latihan_purchase_line,access_latihan_purchase_line,model_latihan_purchase_line,,1,1,1,1

And here is my model definition in models/models.py:

from odoo import models, fields

class LatihanPurchase(models.Model):
    _name = 'latihan.purchase'

    name = fields.Char(string='Name', required=True)
    tanggal = fields.Date(string='Date')
    status = fields.Selection([
        ('draft', 'Draft'),
        ('approved', 'Approved'),
        ('done', 'Done')
    ], default='draft')
    latihan_purchase_line_ids = fields.One2many('latihan.purchase.line', 'latihan_purchase_id', string='Purchase Lines')

class LatihanPurchaseLine(models.Model):
    _name = 'latihan.purchase.line'

    latihan_purchase_id = fields.Many2one('latihan.purchase', string='Purchase Reference')
    product_id = fields.Many2one('product.product', string='Product')
    quantity = fields.Float(string='Quantity', default=0)
    uom_id = fields.Many2one('uom.uom', string='Unit of Measure')

My init.py file correctly loads the models: My __init__.py file correctly loads the models: And inside models/init.py: from . import models # since the model file is named models.py My manifest.py includes:

'data': [
    'security/ir.model.access.csv',
],


Solution

  • Just add the module's name to the external ID and it should work.

    id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
    access_latihan_purchase,access_latihan_purchase,latihan_purchase.model_latihan_purchase,,1,1,1,1
    access_latihan_purchase_line,access_latihan_purchase_line,latihan_purchase.model_latihan_purchase_line,,1,1,1,1