Odong을 따라 사용 된 기본 상수 날짜 형식은 DEFAULT_SERVER_DATETIME_FORMAT
입니다. 당신은 당신이 할 수있는 다른 형식을 사용하려는 경우 그래서
pickup_time = fields.Datetime(
string="Pickup time",
)
: 당신이 상수를 사용하는 것이라는 것을 다음 코드처럼 필드를 선언하는 경우 이것은 misc.py
DEFAULT_SERVER_DATE_FORMAT = "%Y-%m-%d"
DEFAULT_SERVER_TIME_FORMAT = "%H:%M:%S"
DEFAULT_SERVER_DATETIME_FORMAT = "%s %s" % (
DEFAULT_SERVER_DATE_FORMAT,
DEFAULT_SERVER_TIME_FORMAT)
그래서 파일에 정의되어 있습니다 해당 사용자 지정 형식의 계산 된 필드를 만듭니다. 일부 날짜 함수 (strftime
(string to object) 및 strptime
(string to object))를 사용해야합니다. 형식 코드는 this python documentation page
from datetime import datetime
from odoo.tools import DEFAULT_SERVER_DATETIME_FORMAT
[...]
pickup_time_formated = fields.Char( # it is going to be a readonly field
string='Pickup time formated',
compute='_compute_pickup_time_formated'
)
@api.multi
@api.depends('pickup_time')
def _compute_pickup_time_formated(self):
for record in self:
date = record.pickup_time
date_obj = datetime.strptime(date, DEFAULT_SERVER_DATETIME_FORMAT) # to convert it in a date object
v = date_obj.day % 10 # to get the remainder of the operation
if v == 1:
ordinal_suffix = 'st'
elif v == 2:
ordinal_suffix = 'nd'
elif v == 3:
ordinal_suffix = 'rd'
else:
ordinal_suffix = 'th'
# format 'July 3rd 3:00PM'
record.pickup_time_formated = datetime.strftime(date_obj, '%B %d' + ordinal_suffix + ' %I:%M %p')
# format '3 Jul 3:00PM'
# record.pickup_time_formated = datetime.strftime(date_obj, '%d %b %I:%M %p'),
의 바닥에 거의 설명되어 있습니다 그리고 당신은 XML 형식의 새로운 필드를 표시 할 수 있습니다 :
<field name="pickup_time_formated"/>
당신은 – ChesuCR
을 원하는 형식의 계산 된 필드를 만들 수 있습니다 계산 된 필드? 코딩을 통해? 거기에 어떤 샘플을 통해 그 코딩을 통해 ... – Basit
예, 당신은 파이썬으로 선언해야합니다. Odoo 설명서를 확인하십시오 – ChesuCR