Skip to Content
Meniu
Trebuie să fiți înregistrat pentru a interacționa cu comunitatea.
Această întrebare a fost marcată
4 Răspunsuri
18090 Vizualizări

How can I add 42 days to an date-field?

I need help with that, I want to add 42days to the invouce_payed field and put it on a new date.field like:

pay_date_two

@api.onchange('invoice_payed')    
def _check_change(self):
 self.pay_date_two
# = self.invoice_payed
self.pay_date_two = self.pay_date_two + datetime.timedelta(days=42)

Imagine profil
Abandonează
Cel mai bun răspuns

Dear Wizardz,

try this code

from dateutil.relativedelta import relativedelta

@api.onchange('invoice_payed')
def _check_change(self):
if self.invoice_payed:
       date_1= (datetime.strptime(self.invoice_payed, '%Y-%m-%d')+relativedelta(days =+ 42))

       self.pay_date =date_1

else:

        self.pay_date =False


I hope I helped you...

Imagine profil
Abandonează
Autor

wow amazing. what was the problem with that bool? it's because invoice_payed comes as a bool back if it's emptry?

Yes, I think that..

Autor Cel mai bun răspuns

I have fix it with that:

@api.onchange('invoice_payed')
 def _check_change(self):
date_1 = datetime.datetime.strptime(self.invoice_payed, "%Y-%m-%d")
 self.pay_date = date_1 + datetime.timedelta(days=42)


Now when I create a new record it gives me this error:

date_1 = datetime.datetime.strptime(self.invoice_payed, "%Y-%m-%d")

TypeError: must be string, not bool


self.invoice_payed , why is this a bool when I have a date field ?

Imagine profil
Abandonează

Hi @Wizardz,

How you overtake this issues?

Thanks,

Pedro

Cel mai bun răspuns

Hi Wizardz,

if your date filed is empty (meaning you have not stored any value in it yet), the ORM will return False.

That's why, you must use the if self.invoice_payed to make sure the field contains a valid datetime value.


@api.onchange('invoice_payed') 
def _check_change(self):
if self.invoice_payed:
date_1 = datetime.datetime.strptime(self.invoice_payed, "%Y-%m-%d")
self.pay_date = date_1 + datetime.timedelta(days=42)

 

Best regards

Yvan

Imagine profil
Abandonează
Related Posts Răspunsuri Vizualizări Activitate
4
dec. 23
24178
5
mar. 16
10211
2
mai 23
5761
1
iun. 16
3068
0
mai 15
73