Skip to Content
Menu
Musisz się zarejestrować, aby móc wchodzić w interakcje z tą społecznością.
To pytanie dostało ostrzeżenie
2 Odpowiedzi
1601 Widoki

Hello Gurus

I am confused by this error. Both values should be datetime, shouldnt they??

As you can tell, I am not much of a programmer.


scheduled_start = fields.Datetime(string="Scheduled Start", default=lambda self: fields.Datetime.today(), tracking=True)
scheduled_finish = fields.Datetime(string="Scheduled Finish", default=lambda self: fields.Datetime.today(), tracking=True)

ERROR:

if vals['scheduled_finish']

TypeError: '


Ive tried to cast to datetime and str types but no combination seems to work. Little help please?

TIA


Awatar
Odrzuć
Autor

Not sure what happened to the rest of the error but I'll try again:
if vals['scheduled_finish'] < self.scheduled_start:
TypeError: '<' not supported between instances of 'str' and 'datetime.datetime'

Najlepsza odpowiedź

Hello Wombate,


This is TypeError comes when you matched the str and datetime

To handle this in write method :


//Code in Comment//


Thanks & Regards,

Email:  odoo@aktivsoftware.com           

Skype: kalpeshmaheshwari

Awatar
Odrzuć

Code:

def write(self, vals):
res = super().write(vals)
if isinstance(vals.get("scheduled_finish"), str):
vals["scheduled_finish"] = datetime.strptime(vals['scheduled_finish'], '%Y-%m-%d %H:%M:%S')

if vals['scheduled_finish'] < self.scheduled_start:
# your logic here
return res

Autor

Perfect Jainesh! Thank you so much.

Najlepsza odpowiedź

Hi,

Awatar
Odrzuć
Powiązane posty Odpowiedzi Widoki Czynność
2
lut 25
1448
0
gru 24
1012
1
kwi 23
5241
1
mar 15
26226
1
mar 15
4279