Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
4 Trả lời
18127 Lượt xem

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)

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

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...

Ảnh đại diện
Huỷ bỏ
Tác giả

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..

Tác giả Câu trả lời hay nhất

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 ?

Ảnh đại diện
Huỷ bỏ

Hi @Wizardz,

How you overtake this issues?

Thanks,

Pedro

Câu trả lời hay nhất

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

Ảnh đại diện
Huỷ bỏ
Bài viết liên quan Trả lời Lượt xem Hoạt động
4
thg 12 23
24208
5
thg 3 16
10271
2
thg 5 23
5790
1
thg 6 16
3098
0
thg 5 15
73