跳至內容
選單
此問題已被標幟
1 回覆
3694 瀏覽次數

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
4051
1
6月 19
3312
0
6月 20
4030
2
7月 24
14173
4
6月 23
41950