LINUX.ORG.RU

unrest framework

 , ,


0

1

Итак вы закончили ваш прототип на django rest framework и он уже начал тормозить. Ну конечно, вложенный сериализатор в сериализатор в сериализатор, ещё эти каунты и аггрегация в serializermethodfield. Нормально это шевелится только если кешировать весь ответ. Но там же 10 фильтров и 3 вида сортировки! Вот бы можно было искать по такому кэшу… Стоп! Где-то я такое видел.

Generic views в drf имеют serializer_class и queryset. Завернув один в другой мы получим json который можно засунуть в коллекцию монги и искать по ней. Осталось сделать небольшой бэк с монгой, я, к примеру, взял aiohttp и aiomongo. Ну и написал management — команду, которая генерит такой код, преобразует filterset в webargs, и выдергивает из подходящих вьюшек данные загружая из в монгу.

Это такой proof of concept, но может кому-то покажется интересным.

http://github.com/pawnhearts/unrest_framework

Надо добавить unrest_framework в INSTALLED_APPS и появятся management — комманды export_to_mongo и generate_aiohttp

Ответ на: комментарий от menangen

Ну у джанги есть специфика, все эти префетчи не всегда нормально работают. Приходится обмазываться денормализацией, горами сигналов, кешами. Ну это везде так.

pawnhearts ★★★★★ ()