跳至内容
菜单
此问题已终结
1 回复
3650 查看

It is a dating system, which has no coincidences with the day, the time and the doctor. I need to go through all the appointments. I have done this but it does not work for me.

class centromedico_citas(models.Model):  
    _name = 'centromedico.citas'

    fconsulta = fields.Date(string="Fecha consulta", required=True)
    hconsulta = fields.Float(string="Hora consulta", required=True)
    cdoctores = fields.Many2one('centromedico.medicos', string="Doctor/a", ondelete="cascade")

    @api.depends('fconsulta', 'hconsulta', 'cdoctores')
    def _citaunica(self):
        for C in self:
            if C.hconsulta == self.hconsulta and C.fconsulta== self.fconsulta and C.cdoctores == self.cdoctores:               
                  raise exceptions.ValidationError("El doctor ya tiene una cita a esa hora ese día!")
形象
丢弃
最佳答案

Here you are comparing two strings where odoo retrieves date or DateTime fields as a string. So here you are comparing str == str and results vary according to that. The solution is that you have to typecast the fields before comparison using pythons default or odoo's way. I can give you an example.

date = vals.get('date') # String
date = feilds.Date.from_string(date) # Date(01,02,2019) dateobject
形象
丢弃
相关帖文 回复 查看 活动
2
6月 19
3996
1
6月 19
3289
0
6月 20
3991
2
7月 24
14127
4
6月 23
41852