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

i will make condition end_date auto fill based selection field and start_date field

but have some error like this

File "...\Python\Python35\lib\site-packages\dateutil\relativedelta.py", line 393, in __radd__
    return self.__add__(other)
  File "...\Python\Python35\lib\site-packages\dateutil\relativedelta.py", line 351, in __add__
    raise TypeError("unsupported type for add operation")
TypeError: unsupported type for add operation

my py

from odoo import api, fields, models
from datetime import datetime, date, time
from dateutil.relativedelta import relativedelta
class LicenseID(models.Model):
_name = 'license.vehicle'
_inherit = 'ir.attachment'

name = fields.Selection([
('BPKB', 'BPKB'),
('STNK', 'STNK'),
('KIR', 'KIR'),
('UJI_EMISI', 'UJI EMISI'),
('KIU/SIPA/KKPKB', 'KIU/SIPA/KKPKB'),
('IBM', 'IBM'),
('STCK', 'STCK'),
('TNKB', 'TNKB')],
string='Document Name')
start_date = fields.Date(string='Start Date')
end_date = fields.Date(string='End Date')

@api.onchange('name', 'start_date')
def _change_date(self):
if self.name == 'STNK':
self.end_date = self.start_date + relativedelta(years=5)
self.end_date.strftime('%Y-%m-%d'),

can help me master ??



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

Hello,

you should convert your start date (string type) into date type. (datetime.strptime)

For ref. see below code.

1) import libraries

from odoo.tools import DEFAULT_SERVER_DATE_FORMAT

from datetime import datetime


2) replace your method with this method in your code

                @api.onchange('name', 'start_date')

                def _change_date(self):

                    if self.name == 'STNK' and self.start_date:

                        date_start = datetime.strptime(self.start_date, DEFAULT_SERVER_DATE_FORMAT)

                        self.end_date = date_start + relativedelta(years=5)


Thanks,

Dipak


Ảnh đại diện
Huỷ bỏ
Bài viết liên quan Trả lời Lượt xem Hoạt động
1
thg 1 20
4763
1
thg 8 19
4137
0
thg 8 19
4435
1
thg 6 18
5089
0
thg 5 15
4965