КАК ПИСАТЬ БИЗНЕС ЛОГИКУ В DJANGO PYTHON? КАК СОЗДАТЬ ПРАВИЛЬНЫЕ СЕРВИСЫ В DJANGO?

  Рет қаралды 14,949

Андрей Иванов | Python

Андрей Иванов | Python

Күн бұрын

Пікірлер: 29
@vegzuzvegzuz2866
@vegzuzvegzuz2866 2 жыл бұрын
Ещё один годный канал на джанго. Только учу джанго, но ваша подача материала интересна и понятна. Даже быстрый темп не напрягает
@maksimmaxmotives4271
@maksimmaxmotives4271 Жыл бұрын
Очень крутое видео, наглядное объяснение. Чем дольше смотришь, тем меньше понимаешь, зачем это вообще надо. На 49 минуте вспомнил, что таким образом отделяется логика запросов от логики вьюшек через слой сервисов. Но все равно круто :)
@zobweyt
@zobweyt 2 жыл бұрын
33:10, создание декораторов таким образом приводит к копипасту декораторов. Например, если мне нужно создать какой-либо декоратор, то я скопирую и вставлю любой предыдущий декоратор. При этом, изменю только дополнительный параметр и половину того, что возвращает сам врапер. Это делает код менее поддерживаемым и гибким, он становится более сложным. Каким образом вы избегаете этого?
@Lehan111
@Lehan111 11 ай бұрын
Да, делить на классы именно по связи в бд смысла нет, но отделить конкретную бд от бизнес логики через абстракцию норм идея( как раз паттерн репозиторий)
@PsdmasterRu
@PsdmasterRu 2 жыл бұрын
Большое спасибо! Очень полезно!
@artemunix5223
@artemunix5223 Жыл бұрын
расскаэи больше про слои какие они могут быть и зачем они
@PythononPapyrusRU
@PythononPapyrusRU Жыл бұрын
Здравствуйте! Напишите мне в телеграм: @iv_andrew
@knowledgedose1956
@knowledgedose1956 29 күн бұрын
ага, и в DRF запросы в БД, валидация и все остальное в сериализаторах. и пишут так все
@Иван-п8х9ц
@Иван-п8х9ц Жыл бұрын
Почему бы не через интерфейс(ы) ооп?
@ИванДунин-т7и
@ИванДунин-т7и Жыл бұрын
Принцип KISS не не слышал?
@abduraxmon9804
@abduraxmon9804 2 жыл бұрын
Здравствуйте, а можно ли эту логику прописать не в сервисах а в сериализаторах ? и в views " queryset = User.objects.all() serializer_class = UserSerializer" и всё процесс создания или фильтра будет в serializer ? спасибо за отевет!
@knowledgedose1956
@knowledgedose1956 29 күн бұрын
можно, почему и нет, все так пишут. если же логику всё-таки хотите вынести, то сериализаторы просто для сериализации и десериализации, всё. никаких запросов в БД, никакой логики. а лучше взять Django ninja
@АндрейКулагин-е1ш
@АндрейКулагин-е1ш Жыл бұрын
Блин, почему я раньше об этом не знал
@SergeyNevzorov89
@SergeyNevzorov89 2 жыл бұрын
Я может что то не понимаю, может примеры неудачные, но для выборок есть такая штука как менеджеры моделей. Зачем городить эти костыли?
@Korvys777
@Korvys777 2 жыл бұрын
кастомыный менеджер модели должен быть прописан в каждой модели, а если в моделей овермного в проекте, то это по факту копипаст кода в каждой модели. А так, получается, К примеру 3 декората, которые реализуют нужную выборку. Если я не прав, то поправьте)
@SergeyNevzorov89
@SergeyNevzorov89 2 жыл бұрын
@@Korvys777 мне кажется просто неудачные примеры, оторванные от реальной жизни. Если у вас логика программы состоит из легких выборок, то и абстракции тут никакие не нужны. А если сложные выборки с обработкой разных моделей, то явно стандартизации под каждый набор не получится. Возможно я ошибаюсь. Если так поправьте и меня)
@al.e.k
@al.e.k 2 жыл бұрын
Похоже, что автору ближе вот этот взгляд на менеджеры в джанге - emacsway.github.io/ru/service-layer/#django Хотя в сети много примеров , где логика выборки именно в моделях сделана. Возможно, автор более детально раскроет эту мысль в последующих видео. Но в любом случае, даже если делать логику выборки в менеджере, то там все равно возникнет такая же проблема, как это все параметризировать - через ряд аргументов или через декораторы. Правда стоит сказать, что есть еще вариант с передачей через DTO.
@АннаАндреевна-ь1и
@АннаАндреевна-ь1и Жыл бұрын
Ты очень крутой!..
@ravetherover
@ravetherover 5 ай бұрын
По какой-то причине я посмотрел этот ролик
@yawneed
@yawneed 2 жыл бұрын
Молодец! До смотрел до конца. У нас на проектах бизнес логика реализуется в сериалайзерах.
@biman4102
@biman4102 2 жыл бұрын
не надо держать логику в сериалайзерах они нужны только чтобы сериализовать какие то данные а уже потом с ними работать)
@WendPy
@WendPy 8 ай бұрын
Так менеджеры уже с коробки идут, запутанные примеры с сервисом. Лучше расскажи почему не стоит использовать менеджеры в джанго
@kxeka
@kxeka 2 жыл бұрын
Мартышкин труд какой-то. Чем тебе Product.objects.filter().only().limit() и т.д. не угодил? зачем тебе этот сахар в виде функций с аргументами?)
@avanguard4762
@avanguard4762 2 жыл бұрын
красивое
@mmospanenko
@mmospanenko 2 жыл бұрын
Очень неправильных подход с моделями и менеджерами через объект - ты уже завязался на джанго в сервисах. Сервисы должны быть изолированы от фреймворка, это по сути доменная модель, джанго уже детали реализации
@ИванДунин-т7и
@ИванДунин-т7и Жыл бұрын
С only декаратором опять масло масленное. Опять много повторяющегося кода 😀
@ilyatak-sebe8461
@ilyatak-sebe8461 3 ай бұрын
какой же мусор
ЖЕСТКИЙ РЕФАКТОРИНГ DJANGO ПРОЕКТА
25:48
Андрей Иванов | Python
Рет қаралды 3,9 М.
She made herself an ear of corn from his marmalade candies🌽🌽🌽
00:38
Valja & Maxim Family
Рет қаралды 18 МЛН
Mom Hack for Cooking Solo with a Little One! 🍳👶
00:15
5-Minute Crafts HOUSE
Рет қаралды 23 МЛН
Enceinte et en Bazard: Les Chroniques du Nettoyage ! 🚽✨
00:21
Two More French
Рет қаралды 42 МЛН
Что такое Django? Обьясняю по шагам.
48:53
Дед погроммист
Рет қаралды 9 М.
ШБР 2023 - Архитектура кода (Python)
1:46:22
Young&&Yandex: бэкенд-разработка
Рет қаралды 22 М.
Как правильно рефакторить код?
13:19
Андрей Иванов | Python
Рет қаралды 981
She made herself an ear of corn from his marmalade candies🌽🌽🌽
00:38
Valja & Maxim Family
Рет қаралды 18 МЛН