تخطي للذهاب إلى المحتوى
القائمة
لقد تم الإبلاغ عن هذا السؤال
1 الرد
3871 أدوات العرض

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
أكتوبر 19
3629
1
أغسطس 25
5054
2
يوليو 20
4937
2
سبتمبر 23
5709
0
يونيو 22
2186