Дјанго

Како се користи куерисет у дјанго-у

Како се користи куерисет у дјанго-у
Већина веб апликација се сада имплементира са базом података. куерисет се користи у апликацији Дјанго за преузимање записа филтрирањем или резањем или наручивањем табеле базе података без промене изворних података. Модел је користио Дјанго за креирање табеле у бази података. Дакле, знање о коришћењу модела у Дјанго-у је неопходно да би се разумела употреба скупа упита. Главна функција скупа упита је понављање записа табела базе података претварањем у СКЛ упите. Може се користити из питхон командне линије или писањем питхон скрипте за приказ резултата прегледача. Употреба куерисет-а за преузимање података из табеле базе података на различите начине објашњена је у овом упутству.

Предуслови:

Пре него што увежбате скрипту овог водича, морате извршити следеће задатке.

  1. Инсталирајте Дјанго верзију 3+ на Убунту 20+ (пожељно)
  2. Направите Дјанго пројекат
  3. Покрените Дјанго сервер да бисте проверили да ли сервер исправно ради или не.

Подесите апликацију Дјанго:

Покрените следећу команду да бисте креирали Дјанго апликацију са именом куериапп.

$ питхон3 управља.пи стартапп куериапп

Покрените следећу наредбу да бисте креирали корисника за приступ Дјанго бази података. Ако сте већ креирали корисника, тада не морате покретати команду.

$ питхон3 управља.пи ствара корисничког корисника

Додајте име апликације у ИНСТАЛЛЕД_АПП део подешавања.пи датотека.

ИНСТАЛЛЕД_АППС = [

'куериапп'
]

Направите фасциклу са именом предлошци унутар куериапп и подесите предлошци локација апликације у ПРЕДЛОЗИ део подешавања.пи датотека.

ПРЕДЛОЗИ = [

… .
'ДИРС': ['/ хоме / фахмида / дјанго_про / куериапп / темплатес'],
… .
,
]

Направите модел за табелу базе података:

Отвори модели.пи датотека из куериапп директоријум и додајте следећу скрипту да бисте дефинисали структуру производи столови. Производа класа је дефинисана за креирање табеле са именом производи са име, врста, марка, и Цена поља. Ево, име, тип, и Марка поља ће чувати податке о знаковима, а Цена поље ће чувати целобројне податке.

модели.пи

# Увоз модула модула
од дјанго.дб модели увоза
# Дефинишите класу за креирање табеле производа
разред Производ (модели.Модел):
име = модели.ЦхарФиелд (мак_ленгтх = 100)
врста = модели.ЦхарФиелд (мак_ленгтх = 30)
марка = модели.ЦхарФиелд (мак_ленгтх = 50)
цена = модели.ИнтегерФиелд ()

Покренути макемигратионс наредба за креирање нове миграције на основу промена које су направили модели.

$ питхон3 управља.пи макемигратионс куериапп

Покренути мигрирати наредба за извршавање СКЛ наредби и стварање свих табела у бази података које су дефинисане у модели.пи датотека.

$ питхон3 управља.пи мигрирати

Измените садржај админ.пи датотека следећег садржаја. Ево, модели 'Класе производас је регистрован помоћу регистровати() метода за приказ производи табеле на контролној табли администрације Дјанго.

админ.пи

# Увоз административног модула
од дјанго.допринос увоз админ
# Увоз модела производа
од .модели увозе Производ
# Региструјте модел производа
админ.сајт.региструјте се (производ)

Направите датотеку шаблона са именом листа производа.хтмл унутар куериапп / предлошци / са следећом скриптом. Ова скрипта ће приказати све податке производи табела у табеларном облику са оквиром за претрагу. Корисник ће моћи да претражује одређене записе из табеле производа помоћу обрасца за претрагу. за петља се користи у скрипти за понављање података прослеђених из погледа.пи датотека.

листа производа.хтмл



<br>Водич за Дјанго КуериСет<br>



Тражење производа



% цсрф_токен%
Претрага производа:







% за производ на објецт_лист%



% ендфор%
ИДИмеМаркаЦена
производ.ид производ.име производ.Маркастиле = "тект-алигн: ригхт"> $ производ.Цена



Измените садржај погледа.пи датотека са следећом скриптом. Имена модела и шаблона дефинисана су у Листа производа класа. гет_куерисет () метода класе је дефинисана у скрипти за филтрирање података на основу садржаја достављеног у оквир за претрагу шаблона. Производа.предмета.све() метода враћа све записе датотеке производи сто. захтев.ДОБИТИ.тастери () метода се користи у скрипти за проверу података који се достављају помоћу обрасца за претрагу. Ако се ова метода врати истинито, затим захтев.ДОБИТИ.гет ('срц') метода се користи за проверу да ли је послата вредност празна или није. Ако овај метод врати празну вредност, тада ће се вредност сачувати у променљивој, кључна реч, и користиће се за филтрирање података на основу Марка и тип поља из производи сто.

погледа.пи

# Увоз модула ЛистВиев
од дјанго.погледа.генерички увоз ЛистВиев
# Увоз модула производа
од .модели увозе Производ
# Увоз К модула
од дјанго.дб.модели увоз К
# Дефинишите класу за упите података
класа ПродуцтЛист (ЛистВиев):
# Дефинишите модел
модел = Производ
# Дефинишите шаблон
темплате_наме = 'продуцтЛист.хтмл '
деф гет_куерисет (селф):
# Подесите подразумевани скуп упита
куерисет = Производ.предмета.све()
# Проверите да ли је вредност обрасца послата или не
ако ја.захтев.ДОБИТИ.тастери ():
# Проверите кључну реч за претрагу
ако ја.захтев.ДОБИТИ.гет ('срц') != ":
кључна реч = само.захтев.ДОБИТИ.гет ('срц')
# Поставите скуп упита на основу кључне речи за претрагу
куерисет = Производ.предмета.филтер (К (бренд = кључна реч.писање великих слова ()) | К (типе = кључна реч.писање великих слова ()))
ретурн куерисет

Измените садржај урл адресе.пи датотека са следећом скриптом. У сценарију, 'сеарцхПро/ 'путања је дефинисана за позивање Листа производа.ас_виев () метода која ће послати све податке и филтриране податке производи табелу у датотеку предлошка.

урл адресе.пи

# Увоз административног модула
од дјанго.допринос увоз админ
# Увезите путању и укључите модул
од дјанго.путања за увоз УРЛ адреса
# Увоз модула СеарцхЕффициее
фром куериапп.прегледа увоз ПродуцтЛист
урлпаттернс = [
# Дефинишите путању за администратора
патх ('админ /', админ.сајт.урлс),
# Дефинишите путању за претрагу производа
патх ('сеарцхПро /', ПродуцтЛист.ас_виев ()),

Додајте записе у табелу:

Отворите страницу Дјанго Администратион и додајте неколико записа у производи табела на коју ће се тада применити скуп упита. Овде је убачено пет записа.

Сви записи о производима са оквиром за претрагу биће приказани у прегледачу након извршавања следеће УРЛ адресе.

хттп: // лоцалхост: 8000 / сеарцхПро


Сви производи од шампона приказани ако врста производа, 'шампонће бити претражено у пољу за претрагу.

Производи од млека у праху од тхе Фресх марка ће бити приказана ако марка производа, 'свежеће бити претражено у пољу за претрагу.

Закључак:

Начин филтрирања података једноставне табеле базе података помоћу скупа упита објаснио је у овом упутству. Подаци се могу филтрирати на различите начине. Читаоци ће разумети коришћење скупа упита за филтрирање или претраживање података у прегледачу након читања овог водича.

Како приказати бројач ФПС-а у Линук играма
Линук гаминг добио је велики потицај када је Валве најавио Линук подршку за Стеам клијент и њихове игре 2012. године. Од тада су многе ААА и индие игр...
Како преузети и играти Сид Меиер'с Цивилизатион ВИ на Линук-у
Увод у игру Цивилизатион 6 је модерни поглед на класични концепт представљен у серији игара Аге оф Емпирес. Идеја је била прилично једноставна; започе...
Како инсталирати и играти Доом на Линук-у
Увод у Доом Доом серија настала је 90-их година након објављивања оригиналног Доом-а. То је био тренутни хит и од тог времена надаље серија игара је д...