🚀 Add to Chrome – It’s Free - YouTube Summarizer
Category: N/A
No summary available.
00:00
те мы с вами научились удалять и изменять наши даны а сегодня давайте мы их поговорим о выборки данных мы уже знаем как выбирать все объекты давайте это напомню для этого мы импортируем нашу модельку и так мы обращались к модели у него брали атрибут adgex и
00:18
затем обращались к методу а и вот так мы получали все имеющиеся у нас элементы напоминаю у нас сейчас всего три фильма хранится нашей базе да некоторые из них мы удалили и ранее я показывал что через индексы к методу а мы можем взять
00:35
какой-то конкретный фильм вот например django это будет индекс 1 но обращение такое по индексу она не очень удобна и потому что нужно этот индекс рассчитать но этот индекс никак самой записью не связан это всего лишь порядковый номер в
00:52
вере сети который мы с вами получали а у самой джаги видите поле айди например равно 3 и все остальные параметры не равны единице поэтому еще раз подчеркиваю что индекс в говорит эти никак не связан с самой информация
01:08
внутри записи и мало того что яндекс не связан записью так он еще и может измениться например если мы с вами удалим запись об аватаре он стоит перед жаркой то и затем и jiang это же сместится на единичку левее у нее индекс станет равной нулю во всем этом к вы
01:25
рисуете так вот в мы бы хотели выбирать записи на основании их значений например мы бы хотели обратиться записью которая-де равно давайте 5 и это делается в следующим образом у атрибута объект есть специальный метод который
01:40
называется get и дальше внутреннего вы передаете название вашего поля и ставите условия вот таким образом я хочу выбрать запись с индикатором 5 и у нас все с вами работает выбираем запись сойди 3 там у
01:57
нас будет жанром вот так при помощи где то вы можете обратиться к конкретной записи и обратить внимание в самом скире забросе добавляется вот такое условие мы берем записью которые лидер точно равно трем но с где там будете аккуратны во
02:12
первых у гетто нельзя обращаться к несуществующим значение в колонке например смотрите у нас нету айди номер один мы его удалили вот если вы пытаетесь обратиться к записи который нет вы получаете сразу исключение с
02:29
типом ошибки должна таксист и также вы должны быть уверены что get вам вернет именно один объект например давайте поработаем с рейтингом смотрите мы можем через get также получать записи с определенным рейтинг например у которых
02:45
рейтинг равняется 80 вот мы получаем аватар все верно у него такой рейтинг но давайте у три икса изменим этот рейтинг на такой же сохраняем запись и получаем что у нас сейчас есть две строки в которых
03:01
одинаковый рейтинг попробуем сделать тот же самый запрос и мы получаем с вами другую ошибку смотрите тип ошибки мультиплеер объект средь он то есть get будет вызывать такое исключение случай когда вернется 2 или больше записи и
03:18
отсюда мы значит делаем вывод что если вы хотите пользоваться детом то у вас должна быть одна ровно запись которая попадает под эти условия при этом 0 записей вы не можете получить и больше одной записи вы также не можете получить во всех этих случаях будет ошибки нет
03:36
значит применяется только тогда когда вам нужна одна конкретная запись ну а теперь возникает вопрос а можно ли получить записи по определенному условию и причем записи больше чем 1 и для этого существует другой метод также у adgex он называется фильтр
03:53
здесь вы также должны написать поле давайте например возьмем бюджет и вот у нас есть одинаковый бюджет в 1 миллион и результатом этого будет опять же бы такой запрос где у нас проставляются
04:08
поле vr на бюджет накладывается такое условие и мы видим что результатом будет к в рисе состоящий из двух записей у этого кого ресета мы также можем обращаться по индексам то есть мы например можем брать 0 можем брать эрми и так далее ну а теперь уже видим что
04:25
сюда могут попасть несколько записей теперь что касается вот этих условий здесь мы можем с вами писать равного но не можем с вами писать вот так вот больше django не понимает такой синтаксис случае когда вы хотите использовать
04:41
знаки больше или меньше вы должны будете подписывать вот такие специальные символы они очень похожи на магические методы в питоне которые связаны с сравнением и вот например на больше это будет gt но здесь не нужно подписывать 2
04:56
подчеркивания после да и знак больше вы уже удаляете вот так мы пишем то есть говорим бюджет больше и говорим какого значения и видите в запросе уже подставляется знак больше соответственно если хотите
05:12
написать меньше вы пишете лтп сны обратите внимание здесь мы получаем пустой к ларисе и это значит отличает фильтр от метода get где мы не могли получить 0 записей ну и так же у нас
05:28
есть больше или равно это будет аббревиатуры джей ти и гулять за индейку и соответственно lt и давайте попробуем сравнить на неравенство в питоне неравного пишется вот таким образом но
05:43
мы здесь также получаем с вами ошибку для того чтобы написать не равно вам нужно будет воспользоваться другим методом смотрите он называется x-club мы здесь пишем название нашего поля и
05:59
указываем какое значение мы хотим исключить и вот получаем джанга это единственное записи у которой бюджетный равен вот этому значению теперь давайте разберемся со значением null на него тоже можно сравнивать возьмем все записи где год у
06:16
нас не заполнен для этого мы пользуемся фильтром пишем название нашего поля это будет год и ставим такое значение из ну обратите внимание пишется слитно и этому атрибутом мы должны задать либо true
06:32
либо фолз вот так мы возьмем все записи где и ну вот обратите внимание как это будет отражено в сквере запросе если мы ставим falls the попадается одна запись где мало нет это django ее здесь не было также
06:50
фильтры можно перечислять несколько полей например мы возьмем все пустые записи и давайте посмотрим чем они отличаются эти записи различаются настолько айдишники my и именами ну давайте возьмем ней меня интересует только аватар и
07:08
вот мы получаем эту запись но обратите внимание на блок vr эти два условия обвиняется союзом and то есть мы берём записи в которых выполняется одновременно и значение null в горе стоит и поле name равно аватар как
07:25
поставить здесь союз формы с вами разберем на следующем занятии такой же запрос мы можем с вами сделать например при помощи фильтра и x куда одновременно давайте попробуем провернуть такую ситуацию и так мы исключаем все года где
07:41
не пустые значения значит мы пишем вот таким образом обязательно убедитесь что ставите два нижних подчеркивания вот у нас получается с вами 2 записи и потом мы к
07:57
этим записям применяем фильтр популяный и говорим что нам нужен аватар обратите внимание запрос немножко изменился у нас эндом связывается отрицание и
08:13
проверка назначение ладара теперь что касается текстовых полей у нас с вами есть такой болен и смотрите когда мы ставим условия фильтр ним равно аватар то мы будем проверять конкретно назначение аватар и это значит что если
08:30
бы у нас был аватар 2 то сюда это условие не попала давайте создадим аватар 2 и покажу как это можно сделать другим способом мы до этого пользовались сейфом и создавали экземпляр класса но мы можем сделать иначе мы вызываем метод
08:45
кредит объект и говорим name равно аватар 2 и рейтинг равняется 83 остальные поля мы можем не создавать смотрите после этого мне не нужно
09:02
вызывать метод сейф запись уже автоматически появится в нашей табличке да здесь я правда только допустил ошибку давайте я ее исправлю в нашей табличке здесь буква т должны быть вот сохраняем изменения и теперь мы
09:19
хотим выбрать оба фильма но если мы пользуемся вот таким запросам то нам выберется на полное совпадение то есть именно то имя у которого строка равна аватар чтобы взялись все записи в
09:36
которых есть слово аватар мы можем воспользоваться таким фильтром который называется контент соответственно переводится как содержит и вот теперь у нас попадут обе записи но здесь стоит отметить что смотрите контент чувствительным к регистру букв
09:53
то есть если я напишу аватар с маленькой буквы мы с вами должны увидеть 0 записей почему мы видим тот же самый результат у меня возникает вопрос возможно это зависит от базы данных но в документации написано что контент с чувствительным к
10:09
регистрам а метод и контент не чувствительны к регистру то есть там неважно с большой вы букву пишите или с маленькой все должно попадать под один запрос и контент как я уже сказал переводится как содержит и он работает следующим образом например если я напишу
10:24
букву а просто он будет искать все строки где в именах встречается эта буква и не важно на каком месте поэтому сюда еще попала слова джонга и в запросе это отображается следующим образом знак процента здесь говорит что передал может
10:41
быть сколько угодно символов после а тоже может быть сколько угодно символов также мы можем проверить чтобы наши имена начинались с определенных символов или ими заканчивались за это отвечает такие инструкции как старт swiss
10:57
лишнюю букву е написал вот у нас оба аватара начинается с буквы а если я напишу ago у нас всё ещё будет находиться эти значения давайте напишу g вот здесь уже под этот запрос никто не
11:12
выпадет и есть похожий запрос называется м swiss значит должно заканчиваться этими значениями так вот под а вогу у нас нет а не попадает под гол у нас должна
11:28
выпасть 1 запись вот мы это и видим с вами и напоследок и есть ещё одна штука которая очень важно это реализация союза им воис гель запросе то есть например если я пишу вот таким образом я хочу увидеть конкретно запись где идею равно
11:45
трем но что если я хочу видеть например идиш ник номер 3 5 и 6 одновременно по семь-восемь не хочу так вот здесь мы делаем следующим образом мы подписываем и и здесь списком перечисляем какие орешнике мы хотим с вами видеть и
12:02
вот если они встретятся то они пойдут в наш квари сайт если я пишу видишь ника которого нету никаких ошибок не возникает ну и количество записей соответственно тоже не изменяется и вот так вы можете фильтроваться по вашим данным я оставлю под видео ссылку на в
12:19
документацию вот так она будет выглядеть и смотрите здесь внизу есть так раз все запросы которые мы с вами разбирали вот в разделе fields лук abs их здесь достаточно много но большинство из них мы с вами уже разобрали итак на сегодня
12:34
мы с вами закончим и увидимся в следующем видео всем пока