我想允许我的API的使用者使用auto_now = True在datetimefield上进行过滤。需要注意的是,我希望他们能够使用UNIX格式(即:1380783641而不是2013-10-02T16:46:24.030321这是默认格式。)
我已经脱水了这个字段,以便用以下方式呈现它:
def dehydrate_created_on(self, bundle):
return bundle.data['created_on'].strftime('%s')
如何对要过滤的请求中传递的值执行相同操作?
/api/v1/model/?created_on__gt=1380783641
返回ValueError :(法语)
"error": [
"Le format de la valeur « 1380783641 » n'est pas valide. Le format correct est AAAA-MM-DD HH:MM[:ss[.uuuuuu]][FH]."
]
感谢您的帮助。
答案 0 :(得分:0)
基于可以找到here的内容的hacky变通方法是重新定义build_filter
方法:
def build_filters(self, filters=None):
if filters is None:
filters = {}
orm_filters = super(YourResource, self).build_filters(filters)
for filt in orm_filters:
if filt.startswith('created_on'):
orm_filters[filt] = datetime.datetime.fromtimestamp(float(filters[filt]))
return orm_filters