🚀 Add to Chrome – It’s Free - YouTube Summarizer
Category: N/A
No summary available.
00:00
всем привет и в этом видео мы с вами познакомимся с новым типом поле для нашей модели он называется чертёж переводится как выбор и это те поле предоставляет нам ограниченный список вариантов то есть мы можем выбрать только значение из определенного
00:16
множества это множество мы с вами создадим сами что касается этой темы то она не совсем относится к модулю админке она скорее и из предыдущего модуля но я решил ее дать именно сейчас потому что от типа поле которые мы задаем нашей модели будет зависеть то как она будет
00:33
отображаться в нашей админке или другими словами как будет выглядеть его форма к примеру если мы работаем с целым числом so in jar felt the наше поле отображается в админке вот таким образом у него есть специальные виджеты которые
00:49
позволяют нам увеличить число и мы не можем сюда вводить строки вот если вы попробуете то у вас ничего не получится если же мы работаем с вами charfield то у нас будет другое поле где мы можем вводить текст символы но не будет уже вот таких стрелок а вот поле через будет
01:06
выглядеть совершенно иначе и мы в этом с вами уже скоро убедимся но для этого сперва нужно поле это создать давайте перейдем в документации jan de здесь говорится что сперва нужно создать список кортежей в котором вы перечисляете ваше множество из которого
01:21
будет сделан выбор в каждом кортеже 2 значений первое значение оно заносится в базу данных а второе значение она будет отображаться в нам в интерфейсе и дальше когда вы создадите такой список вы прописываете его вы требуете choices вот
01:37
смотрите здесь мы говорим что а наше поле р-н school ссылается на список из вот этих значений и обратите внимание что мы будем хранить именно чарт field едино символов здесь будет именно 22 потому что каждый из элементов у нас
01:53
хранит строку из двух символов давайте я скопирую вот этот список и по аналогии с вами сделаем тоже самое мы этот список создадим самом верху нашей модели и я решил что здесь у нас будут храниться в валюты относящиеся к нашему
02:09
бюджету значит у нас валюты может быть евро может быть валюты у нас доллар и давайте конечно же возьмем рубли на против евро мы говорим что ему будет соответствовать значение строки для храниться только буква е здесь будет
02:26
храниться только буквы d здесь соответственно будет храниться буква р вот и все три значение другие значения у нас не будет в этом поле также давайте переименуем вот это поле она у нас будет называться карен сеть через с коринфе переводится как валюта и так раз
02:43
вот поле кэрнсе мы будем с вами создавать и так это будет черт field макс сленг у него будет один символ это значение мы прописываем потому что у нас всего лишь один символ в каждом кортеже
02:58
здесь находится затем мы пишем чсс и ссылаемся на вот эту переменную currency часть из которой хранится список кортежей и ставим дефолтные значения давайте у нас запишется автоматически для каждых
03:13
записей рубли вот и все в принципе этого нам достаточно идем в терминал так как мы с вами прописали новое значение для нашей модели создали новую колонку то мы должны делать миграции эту команда вы уже должны знать назубок
03:30
майк мигрейшн вот уж мы успешно этой миграции сделали она у нас должна была появиться в наших миграциях отлично и вот теперь мы эту миграция применяем замечательно и теперь мы это поле можем
03:46
добавить в нашу админку давайте вместо года мы его укажем здесь и здесь то есть она у нас будет отображаться и мы можем его редактировать перезапускаем нашу страничку админки и вот смотрите появляется новая колонка кажемся и здесь совершенно новый тип
04:03
формы он похож на combobox то есть вы выбираете одно значение из приведенных вот например robles вы можете выбрать dollars и так далее также мы можем по этому полю сортироваться и вот так раз что из себя представляет поле через с то
04:19
есть это выбор из заведомо определенного множества и это множество как правило конечно и очень редко изменяя но изменяться она все же может и изменение здесь могут быть как количественная то есть вы можете добавить еще какой-нибудь валюту так изменяться могут сами
04:35
значения которые хранятся в базе данных и вот здесь уже сложнее так как значение и здесь могут любой момент измениться то лучше всего заводить константы то есть смотрите я создаю константу евро и в ней храню значение которое будет ссылаться
04:52
именно на евро и здесь я специально меняют длину символов указываю три символа они один также doubler и создаем для доллара и также константу для рубля и здесь вместо букв мужа ссылаемся на
05:07
константы здесь евро здесь dollars и соответственно здесь рублей и эти константы вам будут доступны как атрибуты вашего класса и значит в дефолте мы можем также прописываться или
05:23
ссылаться на эти значения и эти атрибуты нам видны и внутри класса и также у меня класса они тоже будут нам доступны здесь небольшая опечатка и смотрите теперь значений у нас хранятся в константах и мы эти константы везде прописываем и следующий раз если вы хотите поменять
05:39
значения то вы просто прописываете новое значение вот сюда вот в константу и автоматически во всех местах она подставиться и давайте попробуем сделать вновь миграции посмотрим нужно ли их применять и мы с вами получаем ошибку
05:55
который сказано что значение должно быть три символ и ведь верным мы же с вами изменили вот эти строчки расширили их с одного символа до 3 итак указываем тройку и вновь применяем миграции
06:11
отлично они применились и конечно же мы их применяем поэтому выполняем my great обновляем страничку и здесь мы с вами видим везде евро хотя по дефолту нас прописаны были рублей но проблема здесь
06:26
в том что дефолтные значения оно применилось у нас когда мы создали колонку или она будет еще применяться когда новую запись вы заводите для существующих уже записей здесь отображается у нас 1 очень из нашего списка но вопрос а какое же значение у
06:43
нас все-таки хранится в наших записей давайте взглянем идем в скире запросы вот нас интересует вот этот запрос где мы выбираем все данные нажимаем select и видите у нас по прежнему осталась буква р хотя мы уже прописали что здесь
07:00
сохраняется другие строчки и у нас соответственно с вами проблема данных то есть в базе сейчас хранится значение которые уже исключена из нашего множество и как нам с этой ситуации бороться тогда ну здесь есть 221 это
07:15
самая простая мы просто здесь берем для некоторых значений ставим доллары а для всех остальных по умолчанию здесь проставиться евро когда мы нажмем сохранить все старые значения r пропадут давайте взглянем
07:30
вот наш запрос и видите здесь представлены евро либо путь посложнее он по сложнее но поинтересней мы с вами можем добавить новые действия внутри нашей консоли и это действие будет срабатывать для выбранных записей так
07:46
вот мы можем здесь выбрать все наши записи и например всем им проставить определенную валюту но эти мы с вами будем заниматься на следующем занятии напоследок давайте расскажу когда поле чсс вам нужно использовать это делается когда есть ограниченное множество элементов нашем случае валюты это не
08:03
совсем хороший пример потому что валют в мире очень много для валют лучше сделать отдельную модель то есть отдельный справочник зависти и мы в нем будем соответственно редактировать добавляются удалять валюты и так далее а через нас выбирается например случае когда у вас
08:19
есть пол то есть есть только мужчины и женщины 21 веке сейчас это спорное заявление но я все же считаю что есть только мужчины и женщины сезон года например выбирается 4 значение зима лето осень весна эти значения не будут изменяться на протяжении всей вашей
08:34
программы вот в этих случаях нужно использовать чсс также часто используемый пример это американских школ а точнее градации то есть high school middle school и и знаю как называется правильные начальной школы то есть вот например три варианта школы
08:49
есть вот опять же хороший пример для чсс и часть вас полезен тем что он хранит в себе строку но заведомо маленькой длины и тем самым мы экономим с вами на данных на хранение данных если быть точным и
09:05
его плюс еще в том что пользователя нужно уже выбирать и заведомого множество то есть ему не нужно думать какую информацию вводить потому что строки вы сами знаете могут различаться в зависимости от написания регистр то есть маленькие буквы не будут равны большим буквам вот здесь мы точно видим
09:22
евро а уже как она пропишется маленькими буквами или большими уже решается на нашем сайте вот это тоже большой плюс но на сегодня у меня все и увидимся в следующем видео всем пока