🚀 Add to Chrome – It’s Free - YouTube Summarizer
Category: N/A
No summary available.
00:00
на предыдущем уроке мы с вами установили django дебаг tool bar и это расширение нам теперь позволяет смотреть не только иски или запрос и сразу в нашем браузере но и также видеть какой результат нам прилетает для этого нужно вот нажимать на эту кнопку select и вот внизу мы
00:16
видим табличку смотрите здесь о назначении совпадает полностью с нашей базы данных и нам автоматически тянуться все колонки которые находятся в нашей табличке но иногда возникает необходимость создавать дополнительные
00:32
поля причем такие поля которые не обязательно хранить нам базе данных и сегодня я продемонстрирую как можно в наш запрос добавить дополнительное поле для этого давайте мы продублируем эту строчку чтобы ее не удалять и смотрите
00:47
ордер buy нам не понадобится потому что мы с вами сегодня знакомимся с новым методом который называется annotate вот именно он позволяет нам добавлять дополнительную колонку в нашем запросе она же по другому поле смотрите первым параметром вы говорите как будет
01:04
называться ваше поле давайте назовем не field и добавим что она нас будет хранить значение bull а именно мы хотим туда сохранить значение true то есть для каждой нашей записи у нас будет проставлена истинное значение давайте
01:19
попробуем перезапустить нашу страничку и в таком случае мы с вами получим вот такую ошибку смотрите django говорит что метод она дает получает не выражение то есть но он expressions и для того чтобы эту ошибку поправить вам необходимо
01:35
воспользоваться следующим классом смотрите он также находится джанга деби modules и называется вэлью соответственно вы должны обернуть значения которые проставляется для каждой записи в этой колонке в класс в илью и
01:51
так вот мы вызываем этот класс и приравниваем его название нашей колонке вот и все обновляем страничку идем во вкладку эскивель среди вот этих трех запросов нас интересует самый последний его разворачиваем нажимаем кнопку select
02:09
и вот видим у нас появляется новое поле его в нашей базе данных нет а именно в таблице movie но вот она поставила значением true она правда с конвертировалось к целому типу эта конвертация произошла потому что риски light значение был в явном виде не
02:26
хранит то есть мы можем только сохранить аналог было это значение единица или нолик и вот в этом методе annotate мы с вами через запятую можем создавать сколько угодно новых полей давайте это с вами сделаем итак продублируем напишем фолз bull
02:45
давайте даже название чуть поменьше дадим чтобы у нас все умещалось а это у нас будет трубу и так здесь мы перед этим значением фолз и код давайте отформатируем вот сколько у нас переместилась в это место и так
03:00
обновляем страничку смотрим на наш запрос нажимаем select и вот видим у нас появилась новая колонка с означением falls значит мы здесь можем также передавать какую-либо строку например давайте напишем хэллоу можем передавать
03:16
целое число ну допустим 123 поля у нас конечно же должны иметь уникальные названия поэтому этот назовем стр field этот у нас будет энфилд обновляем страничку
03:33
идем запросы select и вот видим пестерев field и энфилд отлично колонки с простыми значениями мы с вами научились создавать теперь давайте создадим более сложную колонку мы хотим чтобы у нас появилась новая колонка с новым бюджетом
03:48
и мы просто будем брать старый бюджет его увеличивать назначение 100 допустим как это сделать значит мы создаем новое поле называться он будет new бюджет и здесь мы должны с вами сослаться на
04:04
колонку где находится старый бюджет и для этого давайте вспоминать объектов при помощи него мы обращаемся внутри нашего а р м запроса к другим колонкам значит мы обращаемся к бюджету и
04:20
просто увеличиваем его назначение 100 обновляем страничку переходим запросы опять же нажимаем select и вот видим новый бюджет обратите внимание здесь в каждой строчке значение
04:37
увеличена на 100 вот и значит таким образом мы с вами спокойно можем создавать вычисляемые поля то есть новые поля которые основываются на полях находящиеся в нашей модели то есть мы можем например взять рейтинг и взять год
04:54
и допустимых сложить это никто нам не запрещает попробуйте это сделать самостоятельно для этого нажмите видео на паузу а дальше посмотрите у меня как я это сделаю и так я копирую опять же эту строчку нажимаю kontrol г для этого
05:10
давайте назовем допустим 4 чтобы не придумывать название нам понадобится опять же объект f мы здесь будем ссылаться с вами на рейтинг и будем к нему прибавлять или давайте даже умножим допустим так ради интереса на
05:27
другое поле это у нас поле год обновляем страничку смотрим наш запрос уже нужно пролистать немножко и вот видим результат здесь обратите внимание на значение но
05:44
она будет всегда появляться когда в операции присутствует неважно где слева или справа значение но то есть с но нам любой объект будет давать в результате но при сложении умножения вычитание так далее и даже при сравнении вот поэтому в
06:01
этой строчке в этих строчках мы с вами получаем нам а вот там где у нас стоят оба числа то там в результате мы получим их умножение и также давайте обратим с вами внимание на самый скин запрос в вот в этих полях смотрите слева стоит
06:16
значение которое мы с вами подставляли потом добавляется ключевое слово с то есть значит как и дальше говорится синоним то есть мы сохраняем значение true как поле трубу и вот здесь она отображается и также обратите внимание на остров и
06:32
смотрите значит возможно наше значение на самом деле будут храниться как строки вот например 123 будет не числом а строкой в этом нужно будет убедиться когда уже будете обрабатывать самый результат этого запроса ну вот таким
06:47
образом вы можете создавать дополнительные колонки при этом подчеркиваю в базе данных эти колонки не сохраняются и вы можете писать это вот таким образом то есть в а на тенте перечислять через запятую эти названия либо можете просто дополнительно
07:03
вызывать несколько раз она дарит вот я например дополнительно вызываю еще раз и указываем наше поле и 4f обновляем идем в иске или запрос выполняем его и видим с вами тот же
07:20
самый результат ну вот мы сегодня у меня все если у вас остались вопросы по этой теме можете их оставлять в коментарии под видео но я с вами прощаюсь и увидимся в следующем уроке всем пока
07:39
[музыка]