170 похожих чатов

Всем привет, кто то использует паттерн Repository? можете показать как

реализовать в Django

20 ответов

38 просмотров

в джанге нет смысла реализовывать, есть менеджер для этого

O_о-___ Автор вопроса
Nikolay Cherniy
в джанге нет смысла реализовывать, есть менеджер д...

ты имеешь ввиду переопределять менеджер?

O_о ___
ты имеешь ввиду переопределять менеджер?

ну если нужно какое-то определенное поведение - да

O_о-___ Автор вопроса
Nikolay Cherniy
в джанге нет смысла реализовывать, есть менеджер д...

а почему нет смысла это же хорошая практика прослойка между уровнем базы и приложением нет?

O_о ___
а почему нет смысла это же хорошая практика просло...

потому что 1 эта прослойка уже есть 2 к этой прослойке джанга сама обращается на прямую 3 смысл репозитория в том что ты убираешь зависимость приложения от реализации орм, а в джанге орм прибита гвоздями и ты все равно ни на что ее не поменяешь

O_о-___ Автор вопроса
Nikolay Cherniy
в джанге нет смысла реализовывать, есть менеджер д...

я вот ща доку читаю увидел два способа переопределения тип можно оказ через переопределения класса Manager и через Queryset а в чем различие что то не понял?)

O_о ___
я вот ща доку читаю увидел два способа переопредел...

переопределяешь кверисет и подсовываешь его в модель с методом .as_manager()

O_о-___ Автор вопроса
O_о ___
это я понял а разница есть у них?

менеджер это то что дергается после Model.manager например User.objects, а кверисет это то что возвращает менеджер, если не правильно сделать, то у менеджера и кверисета будут разные методы и ты не сможешь сделать User.objects.custom_query_method(), а User.objects.all().custom_query_method() - сможешь)

Nikolay Cherniy
в джанге нет смысла реализовывать, есть менеджер д...

Только увидел) Вообще менеджер прикол какой то, когда можно просто использовать classmethod =D

Есть статья на хабре про hexagonal architecture на django, загугии. Там есть ссылка на проект, где он реализован

O_о-___ Автор вопроса
O_о ___
ты сам используешь эту архитектуру?

Да, начал делать по оьразу и подобию, всё укладывается по полочкам. https://habr.com/ru/post/559560/ там ссылка на гитлаб с проектом у чувака внутри статьи. Если что, пиши в лс.

А как ты собираешься классметод комбинировать с другими параметрами запроса, например тебе нужно сначала отфильтровать, а потом уже выполнить логику из твоего классметода? Менеджер дает тебе гибкость и единообразный интерфейс

kuzmich
Ну так принимаешь qs и отдаешь qs

А зачем тогда классметод, если ты уже принимаеь кверисет? Это уже просто функция

Nikolay Cherniy
А зачем тогда классметод, если ты уже принимаеь кв...

Я, конечно же, пробовал менеджеры, но в итоге ты расписываешь в х2-3 строк кода, что мог просто функцией написать но

kuzmich
Ну так принимаешь qs и отдаешь qs

И как это будет выглядеть в коде, с менеджером - Model.manager.filter(…).custom_method(…)

kuzmich
Я, конечно же, пробовал менеджеры, но в итоге ты р...

Ну так ты эту функцию просто помещаешь туда где ей место и где она не ломает интерфейс

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

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта