마감일을 계산하려고합니다. 코드는 다음과 같습니다.
from datetime import datetime,timedelta
commande = self.pool.get('commandes').browse(cr, uid,commande_id,context=context)
date_commande= datetime.strptime(commande.date_commande, "%Y-%m-%d").date()
res['due_date']=date_commande+timedelta(days=20)
due_date 필드 는 날짜 유형입니다.
이 오류가 발생합니다.
XmlHttpRequestError INTERNAL SERVER ERROR
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>500 Internal Server Error</title>
<h1>Internal Server Error</h1>
<p>The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.</p>
timedelta 없이 코드를 테스트 했는데 여전히 같은 오류가 발생했습니다.
역 추적 :
Traceback (most recent call last):
File "werkzeug\serving.py", line 159, in run_wsgi
File "werkzeug\serving.py", line 146, in execute
File "C:\Program Files (x86)\OpenERP 7.0-20140120-002508\Server\server\openerp\service\wsgi_server.py", line 417, in application
return application_unproxied(environ, start_response)
File "C:\Program Files (x86)\OpenERP 7.0-20140120-002508\Server\server\openerp\service\wsgi_server.py", line 403, in application_unproxied
result = handler(environ, start_response)
File "C:\Program Files (x86)\OpenERP 7.0-20140120-002508\Server\server\openerp\addons\web\http.py", line 528, in __call__
return self.dispatch(environ, start_response)
File "C:\Program Files (x86)\OpenERP 7.0-20140120-002508\Server\server\openerp\addons\web\http.py", line 487, in __call__
return self.app(environ, start_wrapped)
File "werkzeug\wsgi.py", line 411, in __call__
File "C:\Program Files (x86)\OpenERP 7.0-20140120-002508\Server\server\openerp\addons\web\http.py", line 487, in __call__
return self.app(environ, start_wrapped)
File "werkzeug\wsgi.py", line 411, in __call__
File "C:\Program Files (x86)\OpenERP 7.0-20140120-002508\Server\server\openerp\addons\web\http.py", line 487, in __call__
return self.app(environ, start_wrapped)
File "werkzeug\wsgi.py", line 411, in __call__
File "C:\Program Files (x86)\OpenERP 7.0-20140120-002508\Server\server\openerp\addons\web\http.py", line 553, in dispatch
result = handler(request)
File "C:\Program Files (x86)\OpenERP 7.0-20140120-002508\Server\server\openerp\addons\web\http.py", line 618, in <lambda>
return lambda request: JsonRequest(request).dispatch(method)
File "C:\Program Files (x86)\OpenERP 7.0-20140120-002508\Server\server\openerp\addons\web\http.py", line 251, in dispatch
body = simplejson.dumps(response)
File "simplejson\__init__.py", line 286, in dumps
File "simplejson\encoder.py", line 228, in encode
File "simplejson\encoder.py", line 515, in _iterencode
File "simplejson\encoder.py", line 483, in _iterencode_dict
File "simplejson\encoder.py", line 483, in _iterencode_dict
File "simplejson\encoder.py", line 483, in _iterencode_dict
File "simplejson\encoder.py", line 525, in _iterencode
File "simplejson\encoder.py", line 202, in default
TypeError: datetime.date(2014, 3, 3) is not JSON serializable
누군가 내가 어디에서 실수했는지 말해 줄 수 있습니까? 감사
JSON에 대한 응답 인코딩 문제는 datetime (date)을 JSON으로 구문 분석 할 수 없으므로 strftime 함수를 사용하여 문자열로 변환해야합니다.
그래서 당신은 시도 할 수 있습니다 :
from datetime import datetime,timedelta
commande = self.pool.get('commandes').browse(cr, uid,commande_id,context=context)
date_commande= datetime.strptime(commande.date_commande, "%Y-%m-%d").date()
res['due_date']= datetime.strftime(date_commande+timedelta(days=20),"%Y-%m-%d")
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다