1
我想弄清楚爲什麼日期不在flask-restplus中工作。修復「不支持的日期格式」,當從休息端點封送數據
MarshallingError: Unable to marshal field "lastUpdate" value "<built-in method now of type object at 0x10264d6e0>": Unsupported DateTime format
127.0.0.1 - - [16/Apr/2016 22:24:18] "POST /api/v1/course/record/ab HTTP/1.1" 500 -
這裏是用於編組
course_record_model = ns.model('Model', {
'topic': fields.String,
'totalMinutes': fields.Integer,
'percentComplete': fields.Integer,
'lastUpdate': fields.DateTime,
})
注意fields.DateTime的對象。這是問題所在。
def __init__(self, courseid, memberid, **kwargs):
"""Create instance."""
db.Model.__init__(self, **kwargs)
self.courseID = courseid
self.memberID = memberid
self.lastUpdate = datetime.datetime.now
我曾嘗試加入一些格式,但它似乎並沒有幫助,這裏的文檔
類fields.DateTime(dt_format = 'RFC822',** kwargs) 返回一個UTC格式的日期時間字符串。支持的格式爲RFC 822和ISO 8601.
有關RFC 822格式的更多信息,請參閱email.utils.formatdate()。
有關ISO 8601 格式的更多信息,請參閱datetime.datetime.isoformat()。
參數:dt_format(STR) - 「RFC822」或「ISO8601」
不知道如何讓日期格式,當它從API調用來英寸
這是它,現在回到「LASTUPDATE」:「2016- 04-17T16:03:43.525476「 – nycynik
self.lastUpdate = datetime.datetime.now不是self.lastUpdate = datetime.datetime.now() – nycynik
@nycynik:無關:不使用'datetime.now()',使用而不是'datetime.utcnow()'或'datetime.now(some_timezone)'。僅僅是'datetime.now()'可能會產生不明確的值,並且utc偏移在不同的時間(或不同的時區)可能會有所不同。 – jfs