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

Поділитися
Вставка
  • Опубліковано 28 лис 2024

КОМЕНТАРІ • 27

  • @vegzuzvegzuz2866
    @vegzuzvegzuz2866 2 роки тому +3

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

  • @maksimmaxmotives4271
    @maksimmaxmotives4271 10 місяців тому +1

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

  • @zobweyt
    @zobweyt 2 роки тому +3

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

  • @Lehan111
    @Lehan111 9 місяців тому

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

  • @PsdmasterRu
    @PsdmasterRu 2 роки тому

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

  • @abduraxmon9804
    @abduraxmon9804 Рік тому

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

  • @artemunix5223
    @artemunix5223 Рік тому +1

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

    • @PythononPapyrusRU
      @PythononPapyrusRU  Рік тому

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

  • @Иван-п8х9ц
    @Иван-п8х9ц Рік тому

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

  • @АннаАндреевна-ь1и
    @АннаАндреевна-ь1и 11 місяців тому

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

  • @ИванДунин-т7и
    @ИванДунин-т7и Рік тому

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

  • @WendPy
    @WendPy 6 місяців тому

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

  • @SergeyNevzorov89
    @SergeyNevzorov89 2 роки тому +4

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

    • @Korvys777
      @Korvys777 2 роки тому +1

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

    • @SergeyNevzorov89
      @SergeyNevzorov89 2 роки тому +1

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

    • @al.e.k
      @al.e.k 2 роки тому +2

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

  • @yawneed
    @yawneed 2 роки тому

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

    • @bekiimanaliev4102
      @bekiimanaliev4102 2 роки тому +2

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

  • @АндрейКулагин-е1ш

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

  • @ravetherover
    @ravetherover 4 місяці тому

    По какой-то причине я посмотрел этот ролик

  • @avanguard4762
    @avanguard4762 2 роки тому

    красивое

  • @kxeka
    @kxeka 2 роки тому +3

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

  • @mmospanenko
    @mmospanenko Рік тому

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

  • @ИванДунин-т7и
    @ИванДунин-т7и Рік тому

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

  • @ilyatak-sebe8461
    @ilyatak-sebe8461 2 місяці тому +1

    какой же мусор