【发布时间】:2020-04-27 12:28:36
【问题描述】:
我创建了一个模块和一个计算字段,允许您从数据库中检索一个值。由于该字段是计算出来的,我不能使用该字段来创建条件。我收到错误“无法搜索非存储字段 rdv.rdv.nb_rdv。”。为了解决这个问题,我想使用 store=True 存储字段的值,但默认值为 0 并且不会更改。
这是我的字段:
projet_terminer_id = fields.Many2one('op.course',string='Projet', required = True )
name_student_id = fields.Many2one('res.users', 'Etudiant', required=True )
date_rdv = fields.Datetime('Date de RDV', required=True)
demandeur_rdv = fields.Integer('Demandeur de RDV', default=lambda self: self.env.uid, readonly=True )
nb_rdv = fields.Integer(string='Nombre de rdv', compute="nombre_de_rdv", readonly=True)
test_field = fields.Integer('Champ de Test')
这是我的功能:
@api.multi
@api.depends('nb_rdv')
def nombre_de_rdv(self):
for record in self:
id_student = record.name_student_id
id_course = record.projet_terminer_id
nb = self.env['rdv.rdv'].sudo().search_count([('name_student_id','=', id_student.id), ('projet_terminer_id', '=', id_course.id)])
record.nb_rdv = int(nb)
谢谢你的帮助。
【问题讨论】:
标签: python python-3.x odoo odoo-12