有点迟了,但是我遇到了同样的问题,试图用RequestParser解析日期时间,可惜的是文档对于这种情况不是那么有用,所以在查看和测试RequestParser和Argument代码之后,我认为我发现了问题:
当您
type=datetime在
add_argument方法中使用时,它会
datetime在幕后直接用arg调用,就像这样:
datetime(arg),因此,如果您的参数是这样的字符串:
2016-07-12T23:13:3,则错误将是
aninteger is required。
就我而言,我想将具有这种格式的字符串解析
%Y-%m-%dT%H:%M:%S为datetime对象,因此我想使用类似的方法,
type=datetime.strptime但是您知道此方法需要format参数,所以我最终使用了以下解决方法:
parser.add_argument('date', type=lambda x:datetime.strptime(x,'%Y-%m-%dT%H:%M:%S'))
如您所见,可以使用所需的任何日期时间格式。同样,您可以使用
partialfunctool而不是lambda来获得相同的结果或命名函数。
该解决方法在docs中。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)