콘텐츠로 건너뛰기
메뉴
커뮤니티에 참여하려면 회원 가입을 하시기 바랍니다.
신고된 질문입니다
3 답글
16409 화면

Hello Everyone, 

I have to try to add month into today date .

my code below : 

from odoo.tools import float_is_zero, float_compare, DEFAULT_SERVER_DATETIME_FORMAT
from datetime import datetime, date, timedelta
import datetime
start_month = fields.Date("start")
end_month =fields.Date("end", compute='_calculate_month')

@api.depends('start_month')
@api.multi
def _calculate_month(self):
if self.start_month:
Date = datetime.datetime.now()
EndDate = Date + datetime.timedelta(months=6)
end_month = EndDate
print "CD:", Date, end_month

Thank you in Advanced 

아바타
취소
베스트 답변

Hi,

To add months with todays date, you can do it like this

from datetime import datetime
from dateutil.relativedelta import relativedelta

six_months_after  = datetime.now() + relativedelta(months=6)

or in your code change the line ,

Date = datetime.datetime.now()

into

Date = datetime.now()

For writing the values into field, you have to do like this

self.end_month = six_months_after

thanks

아바타
취소
작성자

Hello, I am implement changes and it's value print but it's value is not reflected to my field. and changes code below :

start_month = fields.Date("start")

end_month =fields.Date("end", compute='_calculate_month')

@api.depends('start_month')

@api.multi

def _calculate_month(self):

if self.start_month:

Date_Start = datetime.now()

print"Start Date", Date_Start

six_months_after = Date_Start + relativedelta(months=6)

print"After six month", six_months_after

end_month = six_months_after

print "end month:", end_month

so anything wrong in above code?

Answer updated, please check it

작성자

Thanks @Niyas, it's work for me. But one more query how can i change datenow field with custom date field because it show error when i use default date instead of datenow field. Also i use duration in month(6, 12, 24,36).

Thanks for your reply

작성자 베스트 답변

Hello, I am implement changes and it's value print but it's value is not reflected to my field. and changes code below :

start_month = fields.Date("start")

end_month =fields.Date("end", compute='_calculate_month')

@api.depends('start_month', '')

@api.multi

def _calculate_month(self):

if self.start_month:

Date_Start = datetime.now()

print"Start Date", Date_Start

six_months_after = Date_Start + relativedelta(months=6)

print"After six month", six_months_after

end_month = six_months_after

print "end month:", end_month

so anything wrong in above code?

아바타
취소

Do like this,

self.end_month = six_months_after.

Updated the answer

관련 게시물 답글 화면 활동
1
7월 19
8765
1
1월 22
29198
1
6월 18
15666
1
3월 18
4336
0
3월 18
2771