Питхон

Како се користи булк_цреате () у Дјанго-у?

Како се користи булк_цреате () у Дјанго-у?

Дјанго фрамеворк се може користити за креирање веб апликација са базом података уписивањем скрипте модели.пи и погледа.пи датотеке апликације Дјанго. Подаци се могу убацити у табеле базе података помоћу контролне табле Дјанго администрације или писањем скрипте у погледа.пи датотека. Контролна табла администрације Дјанго захтева пријаву за аутентификованог корисника за приступ табелама базе података. Појединачни или више записа могу се уметнути у табеле базе података писањем скрипте. булк_цреате () метода је један од начина за уметање више записа у табелу базе података. Како булк_цреате () метода која се користи за уметање више података у табелу базе података Дјанго биће приказано у овом упутству.

Предуслови:

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

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

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

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

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

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

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

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

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

'боокапп'
]

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

ПРЕДЛОЗИ = [

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

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

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

модели.пи

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

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

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

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

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

Измените садржај админ.пи датотека следећег садржаја. Овде је класа Боок уписана у моделе помоћу регистровати() метода за приказ књиге табеле на контролној табли администрације Дјанго.

админ.пи

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

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

ДисплаиБоокЛист.хтмл



<br>Водич за Дјанго булк_цреате ()<br>



Листа Питхон књига







% за књигу на објецт_лист%



% ендфор%
ИДИмеАуторГодина издавањаЦена
књига.ид књига.наслов књига.ауторкњига.објављено_година$ књига.Цена



Измените садржај погледа.пи датотека са следећом скриптом. Имена модела и шаблона дефинисана су у БулкИнсерт класа. гет_куерисет () метода класе је дефинисана у скрипти за враћање свих записа табеле књига. С друге стране, Књига.предмета.све() метода се користи за враћање свих записа табеле књига. постоји() метода се користи у скрипти за проверу књиге табела је празна или није. Ако се ова метода врати Нетачно тада ће се пет записа убацити у табелу књига помоћу булк_цреате () метода.

погледа.пи

од дјанго.пречице импорт рендер
# Увоз модула ЛистВиев
од дјанго.погледа.генерички увоз ЛистВиев
# Увоз модела књиге
од .модели увозе књигу
# Дефинишите класу за уметање више података
класа БулкИнсерт (ЛистВиев):
# Дефинишите модел
модел = Књига
# Дефинишите шаблон
темплате_наме = 'ДисплаиБоокЛист.хтмл '
# Прочитајте све постојеће табеле књига
куерисет = Књига.предмета.све()
# Проверите да ли је табела књига празна или не
ако је сет упита.постоји () == Нетачно:
# Уметајте истовремено 5 записа у табелу са књигама
Књига.предмета.булк_цреате ([
Књига (наслов = 'Питхон Црасх Цоурсе, 2. издање', аутор = 'Ериц Маттхес', цена = 15, објављено_година = 2019),
Књига (наслов = 'Аутоматизирај досадне ствари помоћу Питхона, друго издање', аутор = 'Ал Свеигарт', цена = 30,
објављено_година = 2019),
Књига (наслов = 'Учење Питхона', аутор = 'Марк Лутз', цена = 15, објављено_година = 2019),
Књига (наслов = 'Хеад Фирст Питхон', аутор = 'Паул Барри', цена = 45, објављено_година = 2016),
Књига (наслов = 'А Бите оф Питхон', аутор = 'Сварооп Ц Х', цена = 15, објављено_година = 2013),
])
# Врати све записе табеле са књигама
деф гет_куерисет (селф):
# Подесите подразумевани скуп упита
повратак Књига.предмета.све()

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

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

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

Отворите надзорну таблу администрације Дјанго да бисте проверили да ли су подаци правилно уметнути или не булк_цреате () функцију.

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

хттп: // лоцалхост: 8000 / књиге /

Закључак:

Вишеструки записи се могу уметнути у табелу базе података Дјанго на различите начине помоћу булк_цреате (). Једноставан начин уметања више записа у табелу базе података помоћу ове методе приказан је у овом упутству како би корисници Дјанго-а разумели логику која стоји иза процеса.

5 најбољих аркадних игара за Линук
У данашње време рачунари су озбиљне машине које се користе за игре на срећу. Ако не успете да добијете нови високи резултат, знаћете на шта мислим. У ...
Битка за Веснотх 1.13.6 Развој објављен
Битка за Веснотх 1.13.6 објављено прошлог месеца, шесто је развојно издање у издању 1.13.к сериес и доноси низ побољшања, посебно корисничког интерфеј...
Како инсталирати Леагуе Оф Легендс на Убунту 14.04
Ако сте љубитељ Леагуе оф Легендс, ово је прилика да тестирате Леагуе оф Легендс. Имајте на уму да је ЛОЛ подржан на ПлаиОнЛинук ако сте корисник лину...