#5. CRUD - основы ORM по работе с моделями | Django уроки

Поделиться
HTML-код
  • Опубликовано: 15 янв 2021
  • Практический курс по Django: stepik.org/a/183363
    Django урок 5. Рассматриваются базовые операции добавления, чтения, изменения и удаления записей из таблицы БД с использованием ORM-интерфейса Django. Вы у знаете о методе save() и delete(). Менеджере записей objects и его методах: create(), all(), filter(), exclude(), get(). О сортировке записей методом order_by(). О просмотре выполненных SQL-запросов через коллекцию connection.queries. Атрибут pk.
    Телеграм-канал: t.me/django_selfedu
    Инфо-сайт: proproprogs.ru/django
    О запросах (ORM): djbook.ru/rel3.0/topics/db/qu...
    Русскоязычная документация по Django 3: djbook.ru/rel3.0/
    Официальный сайт по Django: www.djangoproject.com

Комментарии • 153

  • @mikk152
    @mikk152 3 года назад +120

    Даже когда лень учиться, включаю Ваши видео, сразу интерес появляется, спасибо за уроки!

  • @newtonbro
    @newtonbro 14 дней назад +1

    Спасибо, всё круто объяснили. Я начинающий программист и только учусь, но это мне круто помогло

  • @user-rp7sg6eo4b
    @user-rp7sg6eo4b 4 месяца назад +3

    Приятно слушать, без спешки и без затягиваний, всё понятно, подача просто экстра-класс !

  • @artemshloma
    @artemshloma 4 месяца назад +1

    да все обясняете это важный момент в преподавание спасибо!

  • @brianryan4053
    @brianryan4053 2 года назад +44

    Я могу с уверенностью сказать что это лучшее обучающее видео по веб девелопменту в русскоязычном Ютубе. Объясняете всё очень хорошо очень понятно, использование указки-карандаша - очень сильный момент, к сожалению многие почему то не используют этот приём

    • @dzhegutin9876
      @dzhegutin9876 Год назад

      А Яндекс практикум?

    • @thedark6864
      @thedark6864 10 месяцев назад

      яндекс это бред
      @@dzhegutin9876

  • @ChernovSanek
    @ChernovSanek Год назад +3

    Добавлю,
    Помимо pk__gte (больше или равно) и pk__lte (меньше или равно), есть еще и pk__gt (больше) и pk__lt (меньше)

  • @user-qn6pq1dk5h
    @user-qn6pq1dk5h Год назад +6

    О, эта фраза - «почему так произошло?», тянется через все курсы. Греет слух))

    • @Petkevichsm
      @Petkevichsm Год назад +1

      А мне больше нравится постоянная фраза " как видите, абсолютно ничего сложного " - она вселяет веру даже тогда, когда абсолютно ничего не понятно))

  • @user-nb3cv9bq9r
    @user-nb3cv9bq9r Год назад +5

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

  • @vladimirlotos1497
    @vladimirlotos1497 Год назад +1

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

  • @user-pn2du6ru3y
    @user-pn2du6ru3y 3 года назад +2

    Спасибо за урок! Как всегда, отлично!👌

  • @flikos
    @flikos 3 года назад +28

    8:30 Небольшое замечание по "pk". В случае, если в модели явно задано поле, со свойством primary_key=true, то к нему можно будет обратиться по алиасу "pk". Если поля с заданным свойством нет, то Django автоматически задаёт это свойство полю "id". Поэтому pk не всегда означает id.

  • @ppppp307
    @ppppp307 3 года назад +6

    Огромное спасибо за ваш труд!

  • @user-pg6mb6il1c
    @user-pg6mb6il1c 3 года назад +4

    the special one, selfedu. Thank you so much

  • @user-hz5ub6ww1v
    @user-hz5ub6ww1v Год назад +1

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

  • @user-nk3lq9co7q
    @user-nk3lq9co7q 3 года назад +11

    Лучшие уроки по Django!! Жду следующего видео!! +rep

  • @rodionoffid
    @rodionoffid 3 года назад +24

    Спасибо за видео! Смотрю уроки по мере выхода. Небольшое дополнение про разницу в работе методов objects.filter() и objects.get() (21-23 мин). Возвращаемые ими объекты всё-таки отличаются в случае выбора одной записи из базы данных . Первый метод возвращает QuerySet (состоящий из одного экземпляра записи), а второй возвращает непосредственно экземпляр записи.

    • @selfedu_rus
      @selfedu_rus  3 года назад +1

      да, спасибо, об этом запамятовал сказать!

  • @sergeynikulin6423
    @sergeynikulin6423 Год назад +1

    Это огонь! И сама ORM, и подача материала

  • @user-pj7tc5qb8v
    @user-pj7tc5qb8v Год назад +1

    Всё кратко, чётко и по делу. Очень сильно помогает ваши видео понимать как устроен Django=)

  • @KainAdamsoff
    @KainAdamsoff Год назад +5

    Спасибо за адекватную подачу информации

  • @master-Dmitriy
    @master-Dmitriy 3 года назад +9

    Благодарю за урок! Самое лучшее объяснение из всех что я слышал.

  • @Back-up-all
    @Back-up-all 2 года назад +3

    Спасибо вам ценю ваш труд уроки очень понятно присваивается

  • @friend1cat
    @friend1cat 3 года назад +1

    Спасибо, Сергей. Всё отлично!

  • @rostislavmalyshev1775
    @rostislavmalyshev1775 3 года назад +3

    Спасибо за урок!

  • @user-jw6rd4ec6v
    @user-jw6rd4ec6v 3 года назад +2

    Божественно, спасибо!

  • @luckytima2315
    @luckytima2315 3 года назад +1

    Лучший как всегда,оставлю коммент для продвижения )) Надеюсь Джанго будет много ))

  • @pioner2711
    @pioner2711 2 года назад +2

    Спасибо. Все очень доступно.

  • @jeyhunaze7628
    @jeyhunaze7628 Год назад +1

    Благодарю за урок!

  • @iam_foreman
    @iam_foreman Год назад +1

    Сергей, спасибо большое!

  • @shortvideos9955
    @shortvideos9955 Год назад +1

    Thanks so much for your deep explanation, keep it up buddy👍

  • @fresh_wind87
    @fresh_wind87 Год назад +1

    Вы Бог программирования пришедший в этот мир, научить простых смертных

  • @user-gv6hz1yh3l
    @user-gv6hz1yh3l Год назад

    Спасибо большое за урок!

  • @lastloony_lern6440
    @lastloony_lern6440 2 года назад +1

    спасибо - теперь все встало на свои места.

  • @igorb.4917
    @igorb.4917 2 года назад +3

    Зачетный урок!

  • @uladzislawchyrets
    @uladzislawchyrets 3 года назад +3

    Балдеж, новый урок

  • @user-buser_eto_ja
    @user-buser_eto_ja 2 года назад +1

    Бомбический материал!

  • @donfedor007
    @donfedor007 3 года назад +1

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

    • @selfedu_rus
      @selfedu_rus  3 года назад +3

      Спасибо, потом сделаю еще, более расширенное рассмотрение ORM Django

    • @donfedor007
      @donfedor007 3 года назад

      @@selfedu_rus Вам спасибо!!!

  • @user-qe1rq1cf6t
    @user-qe1rq1cf6t Год назад +1

    Посмотрел Хирьянова. Очень понравилась подача. Решил обучиться, прочитать. Прочел книгу за авторством Матиза. Интересно, но стопорно после прочтения. Многие аспекты остаются без освещения.
    Автор данного видео более подробно описывает ньансы, при этом понятным простым языком.
    Спасибо!

  • @Anonim-im6ln
    @Anonim-im6ln 2 года назад +1

    Кльово!!)) Дякую!!)))😊

  • @e_viskhan
    @e_viskhan 3 года назад +1

    Коммент в поддержку. Крайне понятно

  • @ITGeneration2020
    @ITGeneration2020 11 месяцев назад +1

    Слишком хорошее объяснение, спасибо!!!

  • @Normaldaki777
    @Normaldaki777 Год назад +1

    чел, насколько ты хорош:)

  • @teacherit5840
    @teacherit5840 Год назад +1

    Спасибо за занятие!

    • @teacherit5840
      @teacherit5840 Год назад +1

      Подскажите делаю все как вы, но ранее было видно какие запросы выполнялись и они были сохранены в connection.queries , а теперь выдает пустой список

  • @ToxicBugsy
    @ToxicBugsy 2 года назад +1

    thx! Так-то все легко и понятно, но запомнить это...)

  • @abrorizzatullaev836
    @abrorizzatullaev836 Год назад +2

    Великолепно

  • @user-wf3jt4yx4u
    @user-wf3jt4yx4u 3 года назад +2

    Класс!

  • @user-zg6im8el2c
    @user-zg6im8el2c 3 года назад +1

    Зачетное видео

  • @marrr_marrr5315
    @marrr_marrr5315 Год назад

    O_O Подчёркивание сохраняет последнее действие.... Спасибо!

  • @obriensmith6091
    @obriensmith6091 Год назад +1

    Теперь фраза "студент склеил модель" звучит более интригующе.

  • @ShadowStormlq5mwdasd
    @ShadowStormlq5mwdasd 2 года назад +3

    Как же радуется мой перфекционизм когда у тебя получаются ровные линии

  • @RuSsikkkkkkk
    @RuSsikkkkkkk 3 года назад +1

    pumfnuci
    pumfnuci
    4 месяца назад
    Очень доходчиво(коммент для продвижения))

  • @yarik83men51
    @yarik83men51 3 года назад

    Спасибо

  • @_sergeevich5827
    @_sergeevich5827 2 года назад +1

    круто

  • @sonyxmee
    @sonyxmee 2 года назад +2

    Спасибо за уроки! А есть активная ссылка на сайт русскоязычной документации?

  • @user-ni4sq9td6l
    @user-ni4sq9td6l 3 года назад +3

    Уроки просто супер!!! Лучшая подача в Рунете!!! Вам огромное спасибо ещё раз!!! Подскажите в рамках этого курса или может отдельного не планируются уроки по DRF? Или например Django+React?

    • @selfedu_rus
      @selfedu_rus  3 года назад +1

      Спасибо, пока этого не планирую

    • @user-ni4sq9td6l
      @user-ni4sq9td6l 3 года назад +2

      @@selfedu_rus может хотя бы SQLAlchemy? В Рунете просто отсутсвует доступная информация на эту тему либо совсем примитивное объяснение и устаревшие практики! Всё равно спасибо огромное за тот материал что уже есть!!!!

    • @selfedu_rus
      @selfedu_rus  3 года назад +3

      @@user-ni4sq9td6l Будет занятие по основам ORM Django

  • @user-ey9ip2ee9m
    @user-ey9ip2ee9m 3 года назад +3

    хорошо объясняете, не монотонно, многие объясняют монотонно и нечего не улавливается

  • @jamjam3337
    @jamjam3337 8 месяцев назад +1

    👏👍

  • @user-iy3yo2wt1n
    @user-iy3yo2wt1n 3 года назад +1

    👍👍👍

  • @urrchach
    @urrchach 9 месяцев назад +2

    16:28 - что если после строчки print(wi.title) мне не дают сделать еще один отступ, а сразу начинается запуск команды и выдается ошибка, что у меня нет отступа, хотя, какие клавиши не зажимал, консоль просто никогда дает сделать отступ

  • @donfedor007
    @donfedor007 Год назад +1

    Добрый день! Create он же по капотом вызывает метод save у объекта нашего класса, который объект наследует от Model. Метод get под капотом вызывает фильтр и делает проверку на количество записей. Верно?

  • @Dayplaylist
    @Dayplaylist 2 года назад +1

    Комментарии для поддержки канала 🖐️☺️

  • @user-ro3qo7wd8h
    @user-ro3qo7wd8h Год назад +2

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

    • @selfedu_rus
      @selfedu_rus  Год назад

      Связь через ORM хороша тем, что SQL-запросы оптимизируются под любой доступный тип СУБД, который можно подключить к Django, при этом в саму программу не потребуется вносить никаких изменений.

  • @user-jo8sb7zx5d
    @user-jo8sb7zx5d 2 года назад +1

    Большое спасибо за урок, очень много инфы, что мозг лопается. Вопрос такой - как потом данные выводить на фронт? Слышал, что там какой-то API интерфейс для вывода информации на фронт, что мне кажется сложновато. Надеюсь тут в уроках об этом есть. Завтра смотрю шаблоны.

    • @selfedu_rus
      @selfedu_rus  2 года назад +1

      Во фронт в Django отдается обычный HTML-документ. Если же нужно передавать данные в унифицированном формате, например, JSON, то используется (часто) бибилотека DRF (о ней сейчас выкладываю занятия).

  • @user-wr1zx4po7u
    @user-wr1zx4po7u 2 года назад +2

    здравствуйте! огромное спасибо за ваши труды! у меня вопрос - касаемо переменной "_" которая присвоила значения title и content... каким образом работает эта переменная, как она сохраняет значения?? пересмотрел несколько раз, но все равно не понял... был бы крайне признателен за объяснение! спасибо!

    • @selfedu_rus
      @selfedu_rus  2 года назад +2

      Спасибо! Это специальная внутренняя переменная в PYthon при работе в интерактивном режиме исполнения команд. Сама среда (интерпретатор Python) ее автоматически формирует и сохраняет последнее значение операции. К Django и ORM она никакого отношения не имеет :)

  • @nahishuhailar6162
    @nahishuhailar6162 2 года назад +1

    Что ты за тип такой? просто красучег!

  • @user-oo8bx1kp8b
    @user-oo8bx1kp8b 9 месяцев назад +1

    почему у меня после кода с self ничего не поменялось в терминале?(вводил exit() и входил заново)

  • @user-kj8ez4ix8i
    @user-kj8ez4ix8i Год назад +3

    Прошëл короче первый жëсткий дедлайн одного известного платного онлайн курса, и вот только сейчас, смотря эти уроки я понимаю те вещи которые изначально так и не дошли до меня во время спринтов, и оказывается всё просто 😐

    • @roman_tat
      @roman_tat Год назад

      Уж не ЯП, ли?)

    • @ordinar007
      @ordinar007 Год назад

      @@roman_tat кажется, что ЯП. Тоже прохожу их курсы. Они молодцы, конечно, спору нет. Но порой теория там преподносится так, будто я пришла учиться, уволившись из гугла ._.
      А этот канал просто спасение для меня

  • @antondopira5957
    @antondopira5957 10 месяцев назад +1

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

    • @selfedu_rus
      @selfedu_rus  10 месяцев назад +1

      нет, конечно, через терминал идет лишь демоснтрация ORM-команд

  • @nomadicus77
    @nomadicus77 Год назад +1

    Сергей, а тоже ж самое можно сделать через админку, есть ли какие-то преимущества делать это в ручную, а не используя интерфейс в админке куда просто заносить сразу данные можно?

    • @selfedu_rus
      @selfedu_rus  Год назад

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

    • @nomadicus77
      @nomadicus77 Год назад

      @@selfedu_rus ну я имел ввиду, можно ж просто создать поля и в них добавлять разве нет?

    • @selfedu_rus
      @selfedu_rus  Год назад

      @@nomadicus77 Не все же вы сами будете добавлять? ) Просто часто делают авторизацию на сайте и пользователи выкладывают свой контент. Здесь уже нужен булет ORM. Или, если у сайта появляется свой внешний API. Тут тоже ORM. И так далее.

  • @nitra-hl2fj
    @nitra-hl2fj 3 года назад

    А для просмотра последнего SQL-запроса разве connection.queries[-1] не работает?

  • @user-cs2nu7ob7n
    @user-cs2nu7ob7n 2 года назад +2

    9:39 подскажите пожалуйста, по какой причине могло случиться так, что вместо sql запроса вывелось просто []
    ?

    • @misha8280
      @misha8280 Год назад

      такая же проблема. Вы разобрались?

    • @user-cs2nu7ob7n
      @user-cs2nu7ob7n Год назад

      @@misha8280 нет, опустила это. А вы разобрались ?

    • @misha8280
      @misha8280 Год назад +1

      @@user-cs2nu7ob7n я просто не устанавливал sqlite studio и не связывал sqlite studio с джанго. Думаю вся проблема в этом)

  • @user-io5xw7sg5j
    @user-io5xw7sg5j 2 года назад +1

    А как настроить, чтобы DateTimeField автоматически выставляли время не в UTC а в, допустим, UTC+11?

    • @selfedu_rus
      @selfedu_rus  2 года назад

      это в настройках самого феймоврка Django в файле settings.py там увидите нужнуб константу

  • @user-xy4sd3ow8d
    @user-xy4sd3ow8d Год назад

    А как можно быстро данные закидать в БД. Только через Админ-панель?

  • @PRO-guns
    @PRO-guns Год назад +1

    Добрый день. Попросил у БД все записи. w1[0].title вернул title, w1[0].content не отреагировал, print(w1[0].content) вывел None.... w1[0].time_create вывел время... почему не получается дотянуться до контента?

    • @PRO-guns
      @PRO-guns Год назад

      Нашел беду. Не верно составлена база данных. Была ошибка в типах данных столбцов...

  • @ast1694
    @ast1694 7 месяцев назад

    вместо sql studio на ubuntu использовал DBeaver

  • @vebchik3256
    @vebchik3256 6 месяцев назад +1

    Спасибо за видео)

  • @user-en8ud5ix9e
    @user-en8ud5ix9e Год назад

    добрый день. Подскажите, а не проще вот это все создавать непосредственно в самой базе данных? зачем через консоль это все прописывать?

    • @user-bz6zi9tw6h
      @user-bz6zi9tw6h Год назад

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

  • @fedorova_tanya
    @fedorova_tanya Год назад +1

    Я попыталась в БД добавить запись по созданной и импортированной модели и у меня вылезла ошибка...Traceback (most recent call last):

    sqlite3.IntegrityError: NOT NULL constraint failed: posts_post.author_id
    return Database.Cursor.execute(self, query, params)
    django.db.utils.IntegrityError: NOT NULL constraint failed: posts_post.author_id // не пойму ((

    • @user-dc7bn4bt4e
      @user-dc7bn4bt4e Год назад

      Может Вы пропустили обязательные поля? Т.е. на примере Сергея явно, что обязательные поля для новой записи модели Women - это title и content. Это просто догадка, возможно будет полезным, спасибо.

  • @user-rz1ux2bn2f
    @user-rz1ux2bn2f Год назад

    def __str__(self):
    return self.title
    появился вопрос
    а как сделать так что бы при вызове Women.objects.all()
    показывалось не только поле title а допустим title + content

    • @selfedu_rus
      @selfedu_rus  Год назад +3

      return self.title + " " + self.content[:50]

    • @user-rz1ux2bn2f
      @user-rz1ux2bn2f Год назад +1

      @@selfedu_rus спасибо!

  • @utherlightbtinger2479
    @utherlightbtinger2479 2 года назад +1

    Работаю с "sqlite3". Данные через функцию "save()" не сохраняются. Возможно потому, что в "sqlite3" полем по умолчанию является "rowid"

    • @selfedu_rus
      @selfedu_rus  2 года назад

      Эти занятия тоже с SQLite записаны. Было все хорошо.

    • @sergeherasymenko7505
      @sergeherasymenko7505 2 года назад +2

      SQLiteStudio выберите вкладку "данные", там будет сохраненная инфа. У меня была открыта вкладка "структура", и я немог понять сработала команда "save()" или нет.

    • @user-bm5dl7xl9j
      @user-bm5dl7xl9j 2 года назад +1

      @@sergeherasymenko7505 благодарю!
      Тоже не могла понять сохранились данные или нет!))

  • @yuriishelyk381
    @yuriishelyk381 2 года назад +1

    а как сделать чтоб сдвинулись id, после удаления первого елемента?

    • @selfedu_rus
      @selfedu_rus  2 года назад +1

      вроде на уровне SQL есть такая команда, но лучше этого не делать - очень ресурсоемко

  • @user-oy5ey2eq2n
    @user-oy5ey2eq2n Год назад +5

    У кого connection.queries возвращает пустой список, войдите в режим отладки(settings.DEBUG=True).

    • @user-dc7bn4bt4e
      @user-dc7bn4bt4e Год назад

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

  • @misha8280
    @misha8280 Год назад +1

    Почему у меня в поле id, когда я создаю экземпляр класса, подстраивается не id, а первый аргумент экземпляра? Типо у меня в классе name, content, price, in_stock. В скобках у меня пишется не None, а значение переменной name. id появляется, только если при создании экземпляра класса перед name его прописать. Пример:
    Product('name', 'content', 25000) будет ошибка, а если Product(1, 'name', 'content', 25000) то id = 1 и ошибки нет

    • @selfedu_rus
      @selfedu_rus  Год назад

      id указан как Primary Key и Autoincrement, поэтому он автоматом формируется в БД

    • @misha8280
      @misha8280 Год назад

      ​@@selfedu_rus да-да, уже всё работает. Не внимательность меня когда-то погубит) Я пол часа втыкал в никуда и только переделав проект заново я увидел ошибку)

  • @alexprodan3650
    @alexprodan3650 2 года назад +2

    connection.queries выдает [ ] - пустой список :( что не так?

    • @selfedu_rus
      @selfedu_rus  2 года назад

      здесь хранится история, либо ее нет, либо вы ее удалили )

    • @alexprodan3650
      @alexprodan3650 2 года назад

      @@selfedu_rus выполняю пошагово все как в уроке - выдает пустой список и все! понимаю, что на данный момент это не принципиально, но блин... хочу, чтоб и у меня выдавались запросы :)
      все остальные моменты работают - таблица заполняется, обращение к полям записи происходит
      из консоли выходил, заходил, импортировал... уж и не знаю где рыть. комментарии просмотрел - вроде ни у кого такого не было

    • @ne_zabyc_dadac
      @ne_zabyc_dadac 2 года назад

      @@alexprodan3650 та же самая проблема, ошибки нет, но connection.queries пустой

  • @nameless6529
    @nameless6529 Год назад +1

    Насыщенно

  • @uncledeveloper1356
    @uncledeveloper1356 3 года назад

    Разве не переводится так..
    CreateRetrieveUpdateDestroy?

  • @exhaustedfate2842
    @exhaustedfate2842 Год назад +1

    я правильно понимаю ,что переменные не сохраняются,когда я выхожу из программы? я могу обратиться списку того,что у меня хранится в бд,но не могу обращаться к переменным(w1,w2),которые создал на прошлой сессии. Есть команда,по которой может я могу посмотреть ,какие переменные у меня есть?

    • @selfedu_rus
      @selfedu_rus  Год назад

      Я детали уже не помню, лучше этот конкретный вопрос задайте в телеграм-канал (ссылка под видео)

    • @alazarnfreeman9216
      @alazarnfreeman9216 Год назад

      @@selfedu_rus а почему не помните, у вас нет коммерческого опыта с джанго?

    • @moren6164
      @moren6164 Год назад

      ​@@alazarnfreeman9216 мб, видео давно снимал и не помнит конкретно о чем там было

    • @alazarnfreeman9216
      @alazarnfreeman9216 Год назад

      @@moren6164 да не сказал бы, он под другими видео тоже не мог на какие-то простые вопросы дать ответ

    • @moren6164
      @moren6164 Год назад

      ​@@alazarnfreeman9216 может и так, кто знает

  • @dedpihto680
    @dedpihto680 2 года назад

    и почему там в скл запросах LIMIT 21? 18:42

    • @selfedu_rus
      @selfedu_rus  2 года назад

      в режиме отладки Django сам выставляет ограничение

  • @user-nu3ot7td1j
    @user-nu3ot7td1j 10 месяцев назад +1

    смотрю на это и думаю, ну зачем такие сложности, можно же просто писать sql запросы, не запоминая все эти gte filter и прочие. Зачем на основе и так легкого языка запросов создавать свой язык запросов, типа ну что за глупость. А потом вспомнила, что многие языки программирования написаны на основе других языков программирования. И я такая "А вот зачем"

  • @semionsenchukov3391
    @semionsenchukov3391 2 года назад +3

    Ребят, если у кого-то, как и у меня из консоли в pycharm не работала команда from, а консоли выдается ошибка: "from" не является внутренней или внешней
    командой, исполняемой программой или пакетным файлом. То просто сначала пропишите python manage.py shell, а потом можете использовать from women.models import Women

  • @5kotlet208
    @5kotlet208 Год назад +1

    Заметил, что метод order_by() сортирует сначала по заглавным буквам, а потом по прописным. Сначала я не понял почему Wika впереди dolina. Так же dYlona будет перед dolina

  • @user-br4vn6id6u
    @user-br4vn6id6u 3 года назад

    Променял Энн Хэтэуей на Марго Робби(

  • @Gravy_Black
    @Gravy_Black 3 года назад +1

    Вот зачем управлять ими через shell это ведь муторно, через админку удобнее ведь?

    • @selfedu_rus
      @selfedu_rus  3 года назад +1

      разные бывают ситуации

  • @user-eo9kz8ru9d
    @user-eo9kz8ru9d 9 месяцев назад +1

    У меня почему-то connection.queries выводит пустой список

  • @user-sn5nm5rm3v
    @user-sn5nm5rm3v Год назад +2

    Хе хе хе... Мы используем метод get() не потому что в Джанго такая конвенция. А потому, что метод filter() возвращает QuerySet - итератор. А у итератора нет атрибутов экземпляра. То есть, если к QuerySet применить атрибут - например заголовок Women.objects.filter(pk=2).title то запрос вернет ошибку TypeError - iterator has no attribute title.
    В отличие от метода filter() метод get() возвращает экземпляр класса Women, а не список экземпляров, каковым является QuerySet. У экземпляра класса есть атрибуты, поэтому запись Women.objects.get(pk=2).title вернет заголовок записи с pk равным двум. А конвенции тут не причем.... так Питон устроен просто.

  • @user-ls1ee6rv9w
    @user-ls1ee6rv9w Год назад +1

    Подскажите пожалуйста,хочу добавить объект : t1=TaskWall.objects.create(cat=Category, title='Отправить 2 роту', text='Командующий майор Епифанцев, снаряжение ак 47, бронежилет, рация',time_perfomance='01.01.2010',user='admin',worker='admin'). Поле cat связано с таблицей Category, в которой 2 записи наряд и задача. Поля user и worker связаны с расширенной моделью CustomUser. Выдает ошибки : name 'Category' is not defined/Cannot assign "'Category'": "TaskWall.cat" must be a "Category" instance./unexpected indent . пробовал писать 'задача' тоже не работает .Вопрос как прописывать поля cat, user , worker.

    • @user-ls1ee6rv9w
      @user-ls1ee6rv9w Год назад

      Спасибо, всё сделал, разобрался

    • @bocik2854
      @bocik2854 Год назад

      Орнул с Епифанцева))

  • @DenisTabac
    @DenisTabac 3 года назад +1

    Спасибо за урок!

  • @isded1681
    @isded1681 2 года назад +1

    Спасибо за урок!