#16. Основы ORM Django за час | Django уроки

Поділитися
Вставка
  • Опубліковано 9 лют 2025

КОМЕНТАРІ • 169

  • @blackijan
    @blackijan Рік тому +4

    Я не помню когда последний раз так часто восхищался, смотря ролик на ютубе! Благодарность тем, кто придумал ORM и автору данного курса!

  • @jackieuchiha7838
    @jackieuchiha7838 3 роки тому +19

    Самый лучший препод по питону и джанго в русском сегменте ютуба!

  • @andviktor
    @andviktor 11 місяців тому +2

    Одно из лучших обучающих видео, которые я смотрел, шикарно: не растянуто, последовательно, понятно. Спасибо!

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

    Я делал телеграм бота и сам изучал sql запросы. Когда перешёл к изучению Джанго не понимал как обращаться к базе данных и думал, что придеться создавать отельный файл, в котором нужно было бы прописывать все запросы, а это видео полностью ответило на мои вопросы и все стало куда понятнее. Спасибо автору за такие поленые уроки!

  • @ОлегТруе
    @ОлегТруе 4 роки тому +29

    Спасибо. А по длительности вроде ничего, и часовой урок нормально зашёл. На одном дыхании и все понятно.

  • @андрейхоменко-и5я
    @андрейхоменко-и5я 3 роки тому +47

    Мной для изучения python и django исользуются около 10 аналогичных каналов. Могу с уверенностью сказать на сегодня, настоящий канал N1 в части разнообразия и качества предостааляемого материала. Буду с нетерпением ждать продолжение по ORM.
    Гори в АДУ тот кто поставил дизлайк этому уроку.

    • @vladnone7256
      @vladnone7256 3 роки тому

      Вово!

    • @слава-морозов
      @слава-морозов 3 роки тому +1

      тут нет дизов :)
      ни одного

    • @yanalsheuski263
      @yanalsheuski263 3 роки тому +3

      @@слава-морозов Люди в ютубе подобрели и больше нигде не ставят дизлайки

    • @ВладимирФедорин-б3г
      @ВладимирФедорин-б3г 2 роки тому

      Можно полный список каналов что вы смотрите, может что для себя подчеркну.

  • @СлепойДальтоник
    @СлепойДальтоник Рік тому +13

    Хочу выразить огромную благодарность автору за проделанный труд, внимание концентрируется всегда в нужном направлении и понимаешь материал. У Сергея определенно есть дар к преподаванию, спасибо огромное за столь великолепный бесплатный материал, это большого стоит!

  • @MarchelloAlexandro
    @MarchelloAlexandro 3 роки тому +29

    Мощно, спасибо. Даже интересно , сколько раз я ещё буду, при необходимости, пересматривать отдельные фрагменты этого урока)

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

      Пока на практике все не дойдет до автоматизма)

  • @gesuschrist1553
    @gesuschrist1553 6 місяців тому +1

    1:03:18 в точку. Я правда смотрел урок порционно.
    Спасибо большое вам за труд!

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

    Урок суперский, особенно когда есть некоторый опыт взаимодействия с ОРМ Джанго и небольшое понимание SQL запросов. Пазл начинает складываться)

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

    как бэкенд-джун, выражаю вам огромную благодарность. Спасибо!

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

    Да, после уймы просмотренного и прочитанного материала мозги стали на место. Все четко, по делу, без воды. Спасибо.

  • @igorkulibaba7287
    @igorkulibaba7287 4 роки тому +24

    Это невероятно, столько полезной информации, Спасибо огромное!

  • @alexanderlarionov6510
    @alexanderlarionov6510 Рік тому +4

    Спасибо Большое за данные уроки и за весь контент, это относится к каждому видео!

  • @alucardv8551
    @alucardv8551 3 роки тому +43

    0:00 - Вступление
    2:21 - Начало
    4:31 - Методы сортировки
    6:10 - Метод filter() (список записей по атрибуту)
    7:03 - Обработка данных связанных таблиц
    9:59 - Запросы с использованием первичной модели (_set)
    12:34 - Фильтры полей (lookups)
    17:57 - Класс Q: И, ИЛИ, НЕ
    21:28 - Быстрое получение записи из таблицы
    23:04 - Получение записи по дате
    24:44 - Выбор записи относительно текущей (по дате)
    26:48 - exists() и count()
    29:24 - Обращение к полю первичной модели ч-з атрибут
    34:33 - Функции агрегации (некоторые)
    38:28 - Выбор записи и конкретных её полей
    42:08 - Группировка записей (метод annotate)
    47:59 - Класс F
    52:13 - Вычисления на стороне СУБД
    54:57 - raw SQL запросы
    1:00:51 - Передача параметров в запрос
    1:02:57 - Конец

    • @selfedu_rus
      @selfedu_rus  3 роки тому +6

      Спасибо, добавил!

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

    Я дожил до конца урока, спасибо неугомонный автор))

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

    Фух, я выжил)
    Все как всегда, на высшем уровне! Спасибо)

  • @СергейСинюк-и5м
    @СергейСинюк-и5м 2 роки тому +3

    Добрый день. Хочу высказать своё мнение по поводу такого формата.
    Очень понравился формат, видео длительностью час просмотрел за 4). Всё попробовал, потрогал) Спасибо за такой урок, очень понравилось, много примеров и без лишних слов! Жду ещё подобных - подробных видео!
    П.с. Автор преподаватель от бога! Вы на своём месте! Огромная благодарность за труды! Спасибо что находите время!

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

    Новое узнал что то о ORM , приятно) Спасибо большое за труд, хотя частенько засыпаю под такой монотонный разговор, приходиться бороться часто с собой ) хаха, но все доходчиво и интересно :)

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

    Автору видео отдельный респект, видео сделано максимально красиво. Нашел для себя ответы на многие вопросы. Безмерно благодарен !)

  • @x-user-agent
    @x-user-agent 3 роки тому +2

    только из комментов узнал что урок оказывается длится час🤪 увлекательно, понятно, и это касается КАЖДОГО урока по любому разделу на этом канале👍

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

    Спасибо тебе, Человек! Супер суперпонятно изложен материал, особонно для тех кто знаком на норм уровне с SQL.

  • @empty9228
    @empty9228 2 роки тому +5

    Сергей, спасибо Вам большое за уроки! В связки с курсом ООП материал осознается на 100 %! Успехов в развитии канала!

  • @НикБарыкин
    @НикБарыкин 2 роки тому +3

    Отличная квинтэссенция основного, что требуется по орм. Спасибо!

  • @LeeNick1976
    @LeeNick1976 2 роки тому +5

    Спасибо большое! Я очень счастлив при изучении ваших курсов.

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

    Огромное спасибо!!!!!!!!! У Вас лучший обучающий канал из множества просмотренных мною!!!

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

    Хороший обзорный урок. Вспомнила несколько проблем, которые не знала как разрешить, а теперь знаю. Спасибо!

  • @dmitryzagorevskiy507
    @dmitryzagorevskiy507 3 роки тому +3

    Приветствую! Сергей, отличный обзор получился! Спасибо огромное! По количеству охваченных тем и времени обзора оптимально, на мой взгляд. Успехов!

  • @KravaDota
    @KravaDota Рік тому +2

    Спасибо за видео, отличная подача материала, поставленная речь, просто шикарное видео! Ну как и все в этом курсе

  • @Pan-Ilya
    @Pan-Ilya Рік тому

    Да, всё верно сказано в конце видео 👍👍👍
    Делать подробный разбор каждой команды толку не добавит, нужно объяснить суть - самое главное.
    "Ученик - это не сосуд, который надо наполнить, а факел, который надо зажечь" Плутарх.
    Большое Вам спасибо за данный выпуск, то что нужно для начала знакомства с ORM!

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

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

  • @Максим-т5ш8и
    @Максим-т5ш8и 2 роки тому +3

    Ох и хорошо же, что я перед курсом по джанго потратил недели две на SQL. Осилил видео за два захода, но в целом все понятно. Кстати, connection_queries это же список, поэтому последний запрос SQL можно найти через [-1]

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

    Спасибо за видео! Очень хорошо воспринимается материал

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

    Cпасибо Сергей, вы лучший!

  • @user-buser_eto_ja
    @user-buser_eto_ja 2 роки тому +2

    Пишу сейчас проект, что бы попасть на позицию Джуна, только этими роликами и спасаюсь, потому, что чему учат на курсе, это просто песчинка в сравнении даваемого материала тут.

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

      Удалось найти работу ? и какой проект писали ? Очень интересно, т.к. сам сейчас в такой же ситуации примерно

  • @WATCHandENJOY
    @WATCHandENJOY 3 роки тому +1

    Это самый лучший ролик который я видел !👍

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

    Просто царь. Спасибо

  • @РомаГамин
    @РомаГамин 3 роки тому +3

    Прекрасно! Спасибо большое!

  • @donfedor007
    @donfedor007 4 роки тому +1

    Спасибо Вам за урок! Досмотрел до конца, и законспектировал в txt.

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

      Скоро все выложу еще на proproprogs.ru ))

    • @donfedor007
      @donfedor007 4 роки тому +1

      @@selfedu_rus это очень хорошо 👍

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

      @@selfedu_rus Только что узнал что у вас еще и сайт есть с описанием уроков и кодом. Такой доступный, понятный и грамотный материал просто на вес золота. Спасибо вам за ваш труд.

  • @iluu90sushi46
    @iluu90sushi46 4 роки тому +16

    Спасибо огромное за Ваш труд. Наконец-то нашел по истине грамотный материал. Смотрится и воспринимается все на легке. Возможно в комментариях был вопрос по DRF. Очень бы хотелось, чтоб объяснили это тоже. И ещё вопрос, будет ли печатная копиями этого курса на proprog?

    • @selfedu_rus
      @selfedu_rus  4 роки тому +6

      Спасибо! Да, как курс будет сформирован, выложу на proproprogs.ru

    • @iluu90sushi46
      @iluu90sushi46 4 роки тому

      @@selfedu_rus Благодарю, ожидаю

  • @rostislavmalyshev1775
    @rostislavmalyshev1775 3 роки тому +4

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

  • @ДмитрийПоляков-ю6г
    @ДмитрийПоляков-ю6г 3 роки тому +5

    Очистка командной строки осуществляется нажатием клавиш Ctrl + L

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

    Отличный урок. Я повторял за вами, но чтобы консоль джанго не слишком засорять использовал для просмотра последних запросов connection.queries[-1]

  • @КириллАль-Шаер-х2ю

    Гигантское Вам спасибо!!!

  • @Alukard-789
    @Alukard-789 2 роки тому +2

    Дякую.)😁

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

    Spasibo za yrok !!!!!!syper!

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

    Тема не самая простая конечно, но возможности удивляют!

  • @Максим-т5ш8и
    @Максим-т5ш8и 2 роки тому +1

    Чай заварил, сажусь смотреть, учиться ))

  • @РобертАлександров-к8ы

    Я за курс по ORM 😀

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

      Уже есть, см. ссылку на курс на Stepik по Django

  • @АлексейВладимирович-ъ3х

    Спасибо огромное, я сам не начинающий python разработчик , но именно в django вы мне подсказали важные аспекты которые я не знал !
    Подписка и удачи Вам! Очень признателен!)
    P.S
    Если я не ошибаюсь я учился у вас по tenserflow и keras?

  • @muhammadislom7207
    @muhammadislom7207 4 роки тому +3

    Спасибо.

  • @albertosin6137
    @albertosin6137 4 роки тому +3

    В дальнейшем посмотрел бы от автора канала что-нибудь по 3d графике. OpenGL или какой-движок.

  • @gkenjutsu
    @gkenjutsu 3 роки тому +9

    Чел, который выполняет арифметические операции в запросах: 🗿

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

    Спасибо очень полезно

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

    Что-то не увидел в этой лекции транзакций. Без них никуда.
    И у меня в мета-классе Women сортировка ordering = ['-time_create', 'title'], при этом women.objects.values('cat_id').annotate(Count('id')) возвращает
    {'cat_id': 1, 'id__count': 9}, {'cat_id': 2, 'id__count': 7}] а не как у вас кучу мусорных данных.
    Возможно из-за версии django.
    Как всегда лайк за видео.

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

    klass😀

  • @antonzuzlov2046
    @antonzuzlov2046 3 роки тому +4

    Классный урок вот только тут действительно нужен целый курсу по django orm, или может есть что-то в тернете годное но я не встречал. Кто знает тыкните меня, или может автор сделает(что было бы мега круто)

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

    12:58 используется lookup __gt - он обозначает больше, но не больше или равно. Оговорчка вышла

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

      да, бывают оговорки, спасибо!

  • @lesnoy2869
    @lesnoy2869 4 роки тому +6

    Сделайте курс по panda 3d

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

    Было бы уместно заметить про то что Django может работать и с NoSQL, но судя по всему там придеться повозиться

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

    👏👍

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

    44:08 Странно, у меня при группировке записей методом annotate сразу вывод нормальный был, не смотря на то, что в классе Meta был незакомментированный атрибут ordering. Это пофиксили в новых версиях что ли?

  • @ДмитрийТочилкин
    @ДмитрийТочилкин 3 роки тому +2

    Огромное спасибо за великолепный труд!
    Подскажите, пожалуйста, как действовать, если я хочу создать экземпляр вторичной модели, одним из параметров которого при создании задаётся параметр из первичной модели, связанной через ForeignKey. При этом я хочу задавать этот параметр не через значение внешнего ключа (cat_id), а через наименование самого параметра первичной модели (name). При использовании двойного подчёркивания (по примеру выборки записей по полям связанных моделей) происходит исключение TypeError: got an unexpected keyword argument 'cat__name'.

  • @AltairAnuarbek
    @AltairAnuarbek 9 місяців тому +1

    Можно ли пропускать видео и переходить к следующему?

  • @mk3mk3mk
    @mk3mk3mk 9 місяців тому +1

    Это конечно интересно, но зачем нужен этот Shell?
    Мы же на практике добавляем посты через админку, либо из фронтенда. И так же обновляем и удаляем

  • @kozimjonturgunov4183
    @kozimjonturgunov4183 Рік тому +2

    Здравствуйте, вы знаете почему документация сайт не работает?

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

    А вы будете показывать примеры decorators?

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

    Если хотите хоть как-то ускорить процесс, то один мой друг посоветовал поставить скорость воспроизведения видео на 1.5х. Он сказал это, только после того как я 3 часа смотрел и практиковался на этом видосе...

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

    А если мне нужно прицепить связанный кверисет модели к объекту модели, то сработает ли такой запрос?
    qs = Category.objects.all().annotate(women_qs='women')
    for cat in qs
    ## title = cat.women.title
    или так я получу кверисет из повторяющихся категорий?

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

    56:41
    Если использовать не ту модель, то как будет выполнен запрос? Имя таблицы заменится на ту, к менеджеру объектов которой идет обращение? Не могу понять, почему запрос на выборку всех записей из таблицы Women, а возвращаются все записи из таблицы Category (без ошибки).

  • @devops8058
    @devops8058 4 роки тому +1

    Хотелось бы урок по workflow на базе django-fsm

  • @КылычМирбеков
    @КылычМирбеков 2 роки тому +1

    когда спрашваешь друга безопасно ли это
    друг: 12:18

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

    👍

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

    Я вот хотел заметить - такое качество материала, а нет 1080p - не порядок

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

    Все ваши уроки классные, спасибо.
    Сайт djbook , почему-то не открывается

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

      Все верно, см. англоязычную документацию и новый плейлист по Django - там больше информации.

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

      @@selfedu_rus спасибо вам большое😀.

  • @newplanetfa11
    @newplanetfa11 3 роки тому +5

    У кого ошибка с _set
    Она происходит из-за того, что в классе Women в категории(cat) есть параметр related_name
    При использовании .exists() (прим. c3.women_set.exists()) вместо women_set используйте related_name(если он есть) в классе Woman
    У меня это c3.get_posts.exists()

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

      И у кого ошибка с Category.objects.filter(women__title__contains='ли') , если есть параметр related_name в классе Women, в категории cat
      Пишем тогда Category.objects.filter(get_posts__title__contains='ли') и все работает

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

      спасибо огромное, ты просто лучший

  • @ГлебСтолыпинский
    @ГлебСтолыпинский 3 роки тому +2

    Когда новый выпуск истории на ночь?

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

    как сделать выборку из двух таблиц не используя raw запросы?

  • @Pavel-er4hy
    @Pavel-er4hy Рік тому +1

    Добрый день!
    как при написании цикла фо перейти на следующую строку? На что нажимать на клавиатуре?

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

      у меня просто через Enter срабатывает, в конце, чтобы завершить описание цикла и сработал print, ещё раз нажимал Enter и вывелось, как в уроке

  • @vitaliiananiev5038
    @vitaliiananiev5038 3 роки тому

    Подскажите почему не могу запустить рансервер загружая любой ваш урок на гитхабе, думал что нужно создать вирт окружение всеравно не запускаеться

  • @tigrangasparyan8008
    @tigrangasparyan8008 8 місяців тому +1

    Я еще в начале курса не понимал, откуда берется параметр cat_id если в модели он не определен?

    • @selfedu_rus
      @selfedu_rus  8 місяців тому +1

      Вопрос в ТГ-канал по Django

  • @СергейТравкин-ь1щ
    @СергейТравкин-ь1щ 3 роки тому

    Есть вопрос. Есть талблица с названиями компани. Есть таблица сайтов. У одной компании есть несколько сатов, в таблице сатов есть связка по ключу с названием компании, а в таблце компании, соответсвенно, связок нет. как обращаяся к таблице с названиями компаний получить все связанные сайты?
    {% for element in data %}

    {{ element.name }}
    {{ element.?????????site }}

    {% endfor%}

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

    8:03 - да, перекрашивать что-то в такие цвета теперь модно стало.

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

      Все вопросы к логотипу питона

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

    Люди добрые подскажите, возможна ли такая сортировка, в model A есть класс допустим с тремя полями id, win, lose. и в модели есть функция def get_coef(): return lose/(lose+win).
    Внимание вопрос =) Как произвести сортировку по результату ответа функции get_coef?
    tttt = A.objects.all().order_by( ???? ), или тут, что-то свое нужно выдумать?

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

      Ну первое решение в лоб, сделать A.objects.all(), далее для каждой квери выполнить get_coef и на основе его результата - произвести сортировку.
      Но это очень не оптимальное решение. Но интересно как решили эту задачу (уже 10 месяцев прошло, наверняка уже нашли решение)

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

    Кто нибудь может объяснить почему в cat_id одно подчеркивание, а в cat__slag два? Как я понял cat_id ведь тоже обращается к первичной модели и берет его id.

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

      Потому что в самой таблице к полю cat из модели автоматически добавляется _id.

  • @КаринаГолубева-м1ш

    Добрый день! Может уже был вопрос, но всё же спрошу, чтобы не читать все комментарии: вы вместо __lte пишете __lt, т.е., как видно из видео, можем и так и так писать, ошибки никакой не будет?

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

    как очистить поле терминала в pycharm. Команды cls, clear не срабатывают

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

      у меня clear работает (именно терминал, а не shell django)

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

    Что делать, если у меня в терминале PC не печатаются большинство символов?
    Вообще не дает печатать символы ( [ ], ~, |, & ) Может кто-то уже стыкался с такой неприятностью.

  • @КлаусШтертебекер-ю1щ

    Почему-то не удаётся импортировать мою модель post (тоже самое что и women у автора) выдаёт ошибку: "ModuleNotFoundError"
    PS C:\Users\user\PycharmProjects\learning_log> ll_env/scripts/activate
    (ll_env) PS C:\Users\user\PycharmProjects\learning_log> python manage.py shell
    Python 3.9.6 (tags/v3.9.6:db3ff76, Jun 28 2021, 15:26:21) [MSC v.1929 64 bit (AMD64)] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    (InteractiveConsole)
    >>> from post.models import *
    Traceback (most recent call last):
    File "", line 1, in
    ModuleNotFoundError: No module named 'post'
    >>> from post.models import *
    Traceback (most recent call last):
    File "", line 1, in
    ModuleNotFoundError: No module named 'post'
    может кто-нибудь знает почему?

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

      нужно указывать приложение а не модель

  • @donfedor007
    @donfedor007 4 роки тому +1

    Доброе время суток! Я тут немного запутолся latest() возращает запись добавленную последней. А в видео говорится самую поздную. Women.objects.latest('time_update') может я в запроссе накосячил( Пробовал 'pk' подставлять тоже работает наоборот.(

    • @selfedu_rus
      @selfedu_rus  4 роки тому +1

      Да, вы правы, это моя логическая оговорка, там даже по базе видно, что latest() возвращает запись с самой ранней датой (измененная последней), а earlist(), наоборот. Спасибо!

    • @donfedor007
      @donfedor007 4 роки тому

      @@selfedu_rus Пожалуйста! Урок очень хороший. Но длинный немного. Смотреть приходится с перерывами.

  • @Manu-ei6tn
    @Manu-ei6tn 2 роки тому

    А в каких ситуациях лучше не использовать ORM, а использовать прямые SQL-запросы? Может быть у Вас были такие ситуации

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

      Очень редко, когда приходится опускаться на чистый SQL. Обычно, это какие-то особенные команды + большой опыт использования самого SQL. Если этого нет, то лучше ORM.

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

    Еще один вопрос. Как Category может обращаться к вомен через women__title, если в нем он не прописан как в Вомене cat? И почему именно на women он реагирует?

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

      Потому что women это имя модели, которая связана с category. Посмотрите на запрос sql. Есть другой интересный момент. Что если указать несвязанную модель. Будет выводиться ошибка?

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

    Уважаемый автор, скажи, если ютубчик в России вдруг скажет «всё», есть ли где-то резерв твоего контента?

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

    Спасибо за урок!
    То ли это у меня проблемы, то ли django 4 уже не дает возможности обратится из первичного класса ко вторичному, через annotate()
    c = Category.objects.annotate(total=Count('women'))
    Выдает ошибку вот такую -
    FieldError: Cannot resolve keyword 'women' into field. Choices are: get_post, id, name, slug

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

      Дело было не в django, если переопределить related_name, то его у нужно использовать внутри women.
      То есть если related_name='get_post', то результат должен быть
      c = Category.objects.annotate(total=Count('get_post'))
      Если кто-то столкнется с такой же ошибкой related_name определен внутри файла models.py класса Women, внутри атрибута cat.Если его убрать(related_name) то можно обращаться как у автора видео

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

      @@shinigami_yokoso Spasibo!

  • @itsme578
    @itsme578 3 роки тому

    У меня вопрос, я начал изучению PostgreSql , и передо мной возник вопрос, а зачем он? ... Ну я просто не понимаю , я делаю интернет магазин, и всю, логику для базы данных, я написал используя django orm , и так получается, что для подключения и работы PostgreSql мне нужно все переписывать? .. Если да, то в чем смысл установки? Orm же и легче и проще, я запутался в этом, а в интернете не нахожу ничего, можете объяснить, в чем разница использования django orm и PostgreSql

    • @selfedu_rus
      @selfedu_rus  3 роки тому +1

      Да, вы запутались ) ORM - это надстройка над всеми MySQL, PostgreSQL, SQLite, Orcale и т.п. То есть, создавая приложения с использованием ORM вы можете впоследствии подключать любую БД не меняя саму программу. Поэтому, вас PostgreSQL изучать может сейчас и не нужно. Пишите на ORM, затем подключите в настройках Postgre и все.

    • @itsme578
      @itsme578 3 роки тому +1

      @@selfedu_rus то есть, я говорю на понятном мне языке (python) , а ORM выступает в роли переводчика, который объясняет собеседнику(PostgreSql,MySql) , что да как?! И при помощи этого переводчика, я могу болтать с кем угодно? ..... Вроде бы понял
      Спасибо за объяснение!!

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

    Что быстрее? 1) t = Category.objects.filter(women__title__contains='а').distinct() или 2) t = list(set(Category.objects.filter(women__title__contains='а')))

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

      По идеи - distinct() работает быстрее. Все что от orm - выполняется на уровне БД.

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

    фух) осилил за 2 дня) законспектировал 3 листа, прописал все в консоли и наверное придется пересмотреть 10ток раз)

  • @bravoad
    @bravoad 3 роки тому

    А тайм коды можно сделать?

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

    Я понял когда юзать agregate, но не понял когда юзать annotate

  • @gta_KaskaD
    @gta_KaskaD 3 роки тому

    Для этого видео нужны таймкоды