Ir al contenido
Menú
Se marcó esta pregunta
1 Responder
3697 Vistas

Hello Gents,


Need help for below. 

I need to prevent entering records one2many field( sparepartslines ) in the  same Asset model based on the field 'name' from spareparts_lineitem.

User can enter the same spareparts_lineitem in different Asset

 

class Asset(models.Model):
_name = 'asset'

name = fields.Char(string="Code", required=True)
assetname = fields.Char(string='Asset Name')
sparepartslines = fields.One2many('spareparts_lineitem', 'asset', string='Spareparts')


class Spareparts(models.Model):
_name = 'spareparts'

name = fields.Char(string="Item number", required=True)
description = fields.Char(string='Description')


class Spareparts_lineitem(models.Model):
_name = 'spareparts_lineitem'

name = fields.Many2one('spareparts', string="Item number", required=True)
description = fields.Char(string='Description', related='name.description', store=True, readonly=True)
quantity = fields.Float(string='Quantity', required=True)
quantityinstore = fields.Float(string='Qty in Store')
asset = fields.Many2one('asset', string="Asset")
Avatar
Descartar
Mejor respuesta

You can add in your "spareparts_lineitem" model:

_sql_constraints = [
    ('name_asset_uniq', 'unique (name,asset)', 'Please ensure the part name is unique per asset'),
]
Avatar
Descartar
Publicaciones relacionadas Respuestas Vistas Actividad
1
oct 19
3516
2
jul 20
4711
0
ene 20
4854
2
sept 23
5422
0
jun 22
2008