Rrooom
@Rrooom

В django есть querybuilder?

Точнее то, что он есть - бесспорно. Но не могу найти никакой документаци по тому, как под капотом орма строятся запросы. Можно ли использовать querybuilder из недр джанги и как?
Возможностей самого орма уже не хватает, приходится использовать raw Запросы, которые уже переастают в отдельный querybuilder, что нехорошо.
  • Вопрос задан
  • 2292 просмотра
Пригласить эксперта
Ответы на вопрос 1
abukin
@abukin
Программирую на Python
Возможно стоит смотреть в сторону QuerySet базового класса.
from django.db.models.query import QuerySet

Как пример использования - группировка:
query = Members.objects.all().query
query.group_by = ['designation']
results = QuerySet(query=query, model=Members)

Все канечно зависит от конкретных задач. Опишите пример где ORM бы не хватило для построения функционала. В большинстве случаев можно обойтись им.
Ну и всегда можно отнаследовать данный клас переписав несколько методов по своему усмотрению и использовать уже обновленный см. пример выше. Либо строить чистый SQL и использовать через cursor = connection.cursor() cursor.execute("SELECT foo FROM....") В этом нет ничего страшного. Так даже проще. Принцип KISS надо соблюдать. =)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы