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

Sdílet
Vložit
  • čas přidán 6. 10. 2022
  • Андрей Иванов | Python
    Свяжитесь со мной сейчас: forms.gle/agR8jgr6e8Ly3iCD9
    Код из видео в моем Github: github.com/knucklesuganda
    Подпишитесь на мой Telegram канал: t.me/pypapyrus_ru
    Используйте мою ссылку в криптобирже OKEX: www.okx.com/join/PYTHONANDREY
    Мои курсы на UDEMY: www.udemy.com/user/andrey-iva...
    Пожертвования: www.donationalerts.com/r/pyth...
    Другие Видео по Python: • Python, Питон
    Канал на английском языке: / @pythononpapyrus
    Поставьте лайк и подпишитесь!
    #Python #Питон #программирование #programming #code #coding #код #кодинг #tutorial

Komentáře • 26

  • @vegzuzvegzuz2866
    @vegzuzvegzuz2866 Před rokem +3

    Ещё один годный канал на джанго. Только учу джанго, но ваша подача материала интересна и понятна. Даже быстрый темп не напрягает

  • @PsdmasterRu
    @PsdmasterRu Před rokem

    Большое спасибо! Очень полезно!

  • @maksimmaxmotives4271
    @maksimmaxmotives4271 Před 6 měsíci

    Очень крутое видео, наглядное объяснение. Чем дольше смотришь, тем меньше понимаешь, зачем это вообще надо. На 49 минуте вспомнил, что таким образом отделяется логика запросов от логики вьюшек через слой сервисов. Но все равно круто :)

  • @alkha7144
    @alkha7144 Před rokem

    В поддержку.

  • @zobweyt
    @zobweyt Před rokem +1

    33:10, создание декораторов таким образом приводит к копипасту декораторов.
    Например, если мне нужно создать какой-либо декоратор, то я скопирую и вставлю любой предыдущий декоратор. При этом, изменю только дополнительный параметр и половину того, что возвращает сам врапер.
    Это делает код менее поддерживаемым и гибким, он становится более сложным.
    Каким образом вы избегаете этого?

  • @abduraxmon9804
    @abduraxmon9804 Před rokem

    Здравствуйте, а можно ли эту логику прописать не в сервисах а в сериализаторах ? и в views " queryset = User.objects.all() serializer_class = UserSerializer" и всё процесс создания или фильтра будет в serializer ? спасибо за отевет!

  • @avanguard4762
    @avanguard4762 Před rokem

    красивое

  • @user-rl8hs4mm7x
    @user-rl8hs4mm7x Před 7 měsíci

    Ты очень крутой!..

  • @Lehan111
    @Lehan111 Před 5 měsíci

    Да, делить на классы именно по связи в бд смысла нет, но отделить конкретную бд от бизнес логики через абстракцию норм идея( как раз паттерн репозиторий)

  • @yawneed
    @yawneed Před rokem

    Молодец! До смотрел до конца. У нас на проектах бизнес логика реализуется в сериалайзерах.

    • @bekiimanaliev4102
      @bekiimanaliev4102 Před rokem +2

      не надо держать логику в сериалайзерах они нужны только чтобы сериализовать какие то данные а уже потом с ними работать)

  • @user-gk1rn5lm6t
    @user-gk1rn5lm6t Před rokem

    Блин, почему я раньше об этом не знал

  • @artemunix5223
    @artemunix5223 Před 11 měsíci +1

    расскаэи больше про слои какие они могут быть и зачем они

    • @PythononPapyrusRU
      @PythononPapyrusRU  Před 11 měsíci

      Здравствуйте! Напишите мне в телеграм: @iv_andrew

  • @user-jx4qn4xz2h
    @user-jx4qn4xz2h Před 8 měsíci

    Почему бы не через интерфейс(ы) ооп?

  • @user-nr5rc3sw3r
    @user-nr5rc3sw3r Před 8 měsíci

    Принцип KISS не не слышал?

  • @SergeyNevzorov89
    @SergeyNevzorov89 Před rokem +4

    Я может что то не понимаю, может примеры неудачные, но для выборок есть такая штука как менеджеры моделей. Зачем городить эти костыли?

    • @Korvys777
      @Korvys777 Před rokem +1

      кастомыный менеджер модели должен быть прописан в каждой модели, а если в моделей овермного в проекте, то это по факту копипаст кода в каждой модели. А так, получается, К примеру 3 декората, которые реализуют нужную выборку. Если я не прав, то поправьте)

    • @SergeyNevzorov89
      @SergeyNevzorov89 Před rokem +1

      @@Korvys777 мне кажется просто неудачные примеры, оторванные от реальной жизни. Если у вас логика программы состоит из легких выборок, то и абстракции тут никакие не нужны. А если сложные выборки с обработкой разных моделей, то явно стандартизации под каждый набор не получится.
      Возможно я ошибаюсь. Если так поправьте и меня)

    • @al.e.k
      @al.e.k Před rokem +2

      Похоже, что автору ближе вот этот взгляд на менеджеры в джанге - emacsway.github.io/ru/service-layer/#django
      Хотя в сети много примеров , где логика выборки именно в моделях сделана.
      Возможно, автор более детально раскроет эту мысль в последующих видео.
      Но в любом случае, даже если делать логику выборки в менеджере, то там все равно возникнет такая же проблема, как это все параметризировать - через ряд аргументов или через декораторы. Правда стоит сказать, что есть еще вариант с передачей через DTO.

  • @user-xq5zn5pv1e
    @user-xq5zn5pv1e Před 2 měsíci

    Так менеджеры уже с коробки идут, запутанные примеры с сервисом. Лучше расскажи почему не стоит использовать менеджеры в джанго

  • @user-nr5rc3sw3r
    @user-nr5rc3sw3r Před 8 měsíci

    С only декаратором опять масло масленное. Опять много повторяющегося кода 😀

  • @kxeka
    @kxeka Před rokem +2

    Мартышкин труд какой-то. Чем тебе Product.objects.filter().only().limit() и т.д. не угодил? зачем тебе этот сахар в виде функций с аргументами?)

  • @mmospanenko
    @mmospanenko Před rokem

    Очень неправильных подход с моделями и менеджерами через объект - ты уже завязался на джанго в сервисах. Сервисы должны быть изолированы от фреймворка, это по сути доменная модель, джанго уже детали реализации