コンテンツへスキップ
メニュー
この質問にフラグが付けられました
1 返信
3693 ビュー

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")
アバター
破棄
最善の回答

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'),
]
アバター
破棄
関連投稿 返信 ビュー 活動
1
10月 19
3516
2
7月 20
4710
0
1月 20
4852
2
9月 23
5418
0
6月 22
2007