コンテンツへスキップ
メニュー
この質問にフラグが付けられました
1 返信
3663 ビュー

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
4010
1
6月 19
3301
0
6月 20
4012
2
7月 24
14141
4
6月 23
41908