Заметки для построения эффективных Django-ORM запросов в нагруженных проектах
Написано, т.к. возник очередной холивар в комментариях на тему SQL vs ORM в High-Load Project (HL)Преамбула В заметке Вы сможете найти, местами, банальные вещи. Большая часть из них доступна в документации, но человек современный часто любит хватать все поверхностно. Да и у многих просто не было возможности опробовать себя в HL проектах. Читая статью, помните: Никогда нельзя реализовать HL-проект на основе только одной манипуляции с ORM Никогда не складывайте сложные вещи на плечи БД. Она нужна Вам чтобы хранить инфу, а не считать факториалы! Если вы не можете реализовать интересующую Вас идею простыми средствами ORM — не используйте ORM для прямого решения задачи. И тем более не лезте в более низкий уровень, костыли сломаете. Найдите более элегантное решение. Извините за издевательски-юмористический тон статьи. По другому скучно :) Вся информация взята по мотивам Django версии 1.3.4 Будте проще! И-и-и да, в статье будут показаны ошибки понимания ORM, с которыми я столкнулся за три с лишним года работы с Django. Читать дальше →