@vvpoloskin Вот такие надстройки - неудобно. А множественное наследование и фабрики классов (в то числе динамических) позволяют очень красиво и гибко разрулить все права доступа.
Нет. Стандартные методы аннотации и агрегации подходят для слишком узких задач. Причем как писать кастомные - я тоже не нашел в документации, а изучать по внутренностям - для меня слишком круто.
@crazyzubr Если спрашиваете - значит врядли знаете джангу достаточно, что бы помочь. Банальные запросы с агрегацией по нескольким полям и разными таблицами.
@StrangeAttractor это нетестируемое говно. Функция должна выполнять только одно действие.К примеру, получение данных из внешнего сервиса. Мокаем инфтерфейс внешнего сервиса. Ижектим его в функцию, проверяем возвращаемое значение в зависимости от верных параметров, неверных, в случае падения внешнего сервиса - вуаля. Так же для другой функции, которая пишет куда-то. В жизни - так.
Зачем? Я же хочу, что бы подсказали, где прочитать об этом и научиться самому, а не что бы тыкнули носом в несовершенность отдельного запроса. В документации как-то скупо всё описано.
А как переформулировать? +)
datetime.datetime.now() как и datetime.datetime.today() вернут скажем, 2014, 10, 1, 17, 3, 33, 62009, а мне нужно 2014, 10, 1, 0, 0, 0