У джанго воруют sql! Целыми запросами

В очередной раз разгребая от непомерного груза непрочитанных RSS свой ридер, наткнулся на примечательный пост некого Энди Маккея (кстати блог у него на джанге. Узнал случайно - получив от него как-то стандартный джанговский 404:)).

Суть в том, что он применяет джангу в качестве базы для прототипирования Zope приложений. Поскольку как вы сами прекрасно понимаете, на джанго быстрее и проще сделать что-работающее. Использует все вкусности ORM и CRUD'а для добавления тестовых данных. Потом набивает тесты с необходимым функционалом и "ворует" у ORM сгенерированные SQL запросы, портируя их в ZSQLMethods(это такая зопавская(вау!:)) обертка над SQL запросами). Да, зачем мучит себя ручным написанием мудреных запросов, когда можно поручить это машине, а самому кайфовать от высокоуровневых абстракций. Не правда ли элегантное и остороумное решение?:)

И действительно. Ведь так удобно: быстренька набросать модельки, попутно ещё и DDL получить бесплатно, потом набить всё это необходимой логикой и получит у любезного ORM SQL запросы. Которые после недавних событий стали гораздо валиднее и краше. Класс!

Только вот, положа руку на сердце, джанговский ORM пока далек от идеального и всеобъемлющего, но ему видимо хватает:)

А вы знаете ещё способы не совсем стандартного использования джанги?:)

Комментарии 3

  1. SPlyer написал:

    Интересный подход :) только запросы, написанные вручную, бывают оптимальнее запросов, сгенерированых ORM.

    Оставлен 14 Май 2008 в 03:14
  2. Vitaliy написал:

    Криминал :-D

    А вы знаете ещё способы не совсем стандартного использования джанги?:)

    Я недавно промышлял почти похожим. Вобщем делал приложение для виндовс-мобайл и в качестве базы в нем использовал sqlite, закзчик был не сильно уверен в своих требованиях поэтому структура бд иногда менялась по нескольку раз на день Так вот сделал обертку которой на вход подавал какой-нить орм запрос а она мне возвращала C++ код внутри которого был SQL запрос сгенерированный джанго. конечно не идеальлно все вышло и приходилось немного напильником по C++ пилять - но в итоге вполне все работает.

    Оставлен 15 Май 2008 в 07:39
  3. None написал:

    Какой скандальный заголовок :)

    Оставлен 17 Июнь 2008 в 14:23