我有三个字段:开始年份,结束年份和范围。我需要将第二个字段的范围列表添加到范围字段中。
@api.multi
@api.depends('start', 'end')
def years(self):
self.rang = [int(x) for x in range(int(self.start),int(self.end))]
pass
start = fields.Char(string="", required=False, )
end = fields.Char(string="", required=False, )
rang = fields.One2many(compute=years )
我收到此错误消息:
对不起,您无权访问此文档。如果您认为这是一个错误,请与系统管理员联系。
(文档模型:_unknown)-(操作:已读取,用户:2)
答案 0 :(得分:0)
您需要在 one2many 字段中添加 comodel_name ,您可以在enter link description here
中查看Odoo的官方文档答案 1 :(得分:0)
根据您提到的问题,我想您要显示产品生产日期在一个范围之间。
start = fields.Char(string="", required=False, )
end = fields.Char(string="", required=False, )
product_ids = fields.Many2many(comodel_name="product_model")
@api.onchange('start','end')
def _search_year_range(self):
if self.start and self.end:
model = self.env['product_model']
# because your info is too less, you need to fix domain base on your case by yourself.
domain = [('product_date', '>', self.start),('prduct_date', '<', self.end)]
records = model.search(domain)
self.product_ids = [(6, 0, records.ids)]
答案 2 :(得分:0)
我认为您必须使用Selection
字段而不是One2many
。
试试这个
@api.depends('start', 'end')
def _years(self):
if self.start and self.end:
return list([(str(x), int(x)) for x in range(int(self.start),int(self.end))])
start = fields.Char(string="", required=False)
end = fields.Char(string="", required=False, )
rang = fields.Selection(_years )