После прочтения Django Managers я все еще не знаю, какую выгоду я получу, используя его. Похоже, что лучше всего использовать специальные запросы (только для чтения), такие как XYZ.objects.findBy*()
. Но я легко могу сделать это с помощью статических методов вне классов Model
.
Я предпочитаю последнее всегда, потому что:
- местонахождение кода с точки зрения удобочитаемости и упрощения обслуживания
- немного меньше подробностей, поскольку мне не нужно свойство
objects
в моих вызовах -
Manager
классы имеют странные правила, касающиеся наследования модели, также могут не бояться этого.
Есть ли веская причина не использовать статические методы и вместо этого использовать классы диспетчера?