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

Https://Github.Com/HackSoftware/Django-Styleguide Https://Stackoverflow.Com/Questions/62740603/How-Can-I-Implement-Service-Layer-In-Django Ребята такой вопрос читаю щас вот это и тут говориться

что Обращения/Сохранения в БД должно происходить через сервисный/селекторный слой, но и еще стековерфлоу рекомендуют оперировать встроенными возможностями Джанго: вынести логику обращения в Кастом Менеджеры и Прокси модели, а сохранения в Сервисный слой, какой из них правильнее? помогите советом пж

9 ответов

20 просмотров
Star Lord- Автор вопроса

Где вообще должно находится обращения/сохранения к БД ? в Сервисном слое чтобы модели оставались чистымы?(так много разного прочел уже про сервисы что запутался что оно делает) или же в менеджерах ? Proxy Models (i.e purpose - your default model remains clean, all your object based business logic goes here.) Custom Managers (i.e purpose - DAO (Data Access Logic) goes here, also we can achieve re-usability of code) Service Layer (i.e purpose - core business logic goes here, therefore your views class has more readability) что я понял из этого: 1. Модели должны объявляться и надо использовать Proxy Models и там писать логику связанные с конкретным объектом(entity) 2. Кастом менеджеры там пишется логика получения массива объектов по каким нибудь правилам например набор фильтров: Books.objects.filter(created_at_gte=(дата)) и эти менеджеры присваиваются к Proxy моделям.....(нужно ли здесь писать методы для сохранения к бд ?) 3. Сервисный слой используется где описывается логика как и каким образом конкретный объект либо объекты будут сохранятся в БД поправьте если я не прав полностью или частично)

Patrick [in search of work]
Прокси = Дто

Как будто ему станет понятней от э

Star Lord
Где вообще должно находится обращения/сохранения к...

1 ну скорее вообще без логики. Просто другая модель только с нужными полями которую проще сразу куда то заснуть. Например сразу отдать

Star Lord- Автор вопроса
Patrick [in search of work]
Прокси = Дто

так DTO не должен содержать логику а в примерах везде там пишут ту или иную логику

Star Lord- Автор вопроса
Star Lord- Автор вопроса
Patrick [in search of work]
Прокси = Дто

с чего ты взял что это ДТО я не пойму

Star Lord- Автор вопроса

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

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

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Ребят в СИ можно реализовать ООП?
Николай
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
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
4
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Карта сайта