Найти - Пользователи
Полная версия: pymongo + datetime
Начало » Базы данных » pymongo + datetime
1
alexlp
Я делаю запрос в базу и получаю ответ содержавший datetime.datetime(), после ответ передается декоратору jsonify которому есс-но не нравится объект datetime().

Собственно, можно ли средствами pymongo до декоратора не перебирая список словарей и формируя словарь для декоратора сделать преобразования полей datetime()?
что то вроде
dc.users.find({},{'name': 1, somefunc('birth': 1) })
ziro
Средствами pymongo нельзя да и не надо. Надо средствами модуля json, типа такого (выдернуто из проекта)

try:
from cjson import dump as _dump, dumps as _dumps, load, loads
except ImportError:
from json import dump as _dump, dumps as _dumps, load, loads

def default_handler(obj):
"""
Функция представляет собой обработчик нестандартных типов для сериализации
данных в JSON фомат.

:param obj: сериализуемый объект;

В рамках поддержки конверсии XXX в JSON мы должны помимо
сериализуемых в JSON типов данных поддерживать также и несериализуемые типы
данных, типа :class:`datetime.datetime`.
"""
from datetime import datetime

if isinstance(obj, datetime):
return obj.strftime("%Y%m%dT%H:%M:%S")

return obj

def dump(*args, **kwargs):
"""
Функция сериализации данных в файл в JSON формате. Вызывает одноименную
функцию из стандартного модуля :mod:`json` или :mod:`cjson`, но устанавливает
:func:`default_handler` как обработчик нестандартных типов.
"""
return _dump(*args, default=default_handler, **kwargs)
alexlp
Пасиба!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB