Django framework може да се използва за създаване на уеб приложение с база данни чрез писане на скрипт модели.py и мнения.py файлове на приложението Django. Данните могат да бъдат вмъкнати в таблиците на базата данни с помощта на таблото за управление на Django или чрез писане на скрипт в мнения.py файл. Таблото за управление на администрацията на Django изисква вход за удостоверен потребител за достъп до таблиците на базата данни. Единични или множество записи могат да бъдат вмъкнати в таблиците на базата данни, като се напише скрипт. bulk_create () метод е един от начините за вмъкване на множество записи в таблицата на базата данни. Как bulk_create () метод се използва за вмъкване на множество данни в таблица на база данни на Django ще бъде показан в този урок.
Предпоставки:
Преди да практикувате скрипта на този урок, трябва да изпълните следните задачи:
- Инсталирайте Django версия 3+ на Ubuntu 20+ (за предпочитане)
- Създайте проект на Django
- Стартирайте сървъра Django, за да проверите дали сървърът работи правилно или не
Настройване на приложение на Django:
Изпълнете следната команда, за да създадете приложение на Django с име bookapp.
$ python3 управлява.py startapp bookappИзпълнете следната команда, за да създадете потребителя за достъп до базата данни Django. Ако вече сте създали такъв, не е необходимо да изпълнявате командата.
$ python3 управлява.py създаваuperuserДобавете името на приложението в INSTALLED_APP част от настройки.py файл.
INSTALLED_APPS = [..
"bookapp"
]
Създайте папка с име шаблони вътре в bookapp папка и задайте местоположението на шаблона на приложението в ШАБЛОНИ част от настройки.py файл.
ШАБЛОНИ = [.. .
'DIRS': ['/ home / fahmida / django_pro / bookapp / templates'],
.. .
,
]
Създайте модел за таблицата на базата данни:
Отвори модели.py файл от bookapp папка и добавете следния скрипт, за да определите структурата на книги таблици. Книга class е дефиниран за създаване на таблица с име книги с заглавие, автор, цена, и публикувано_година полета. Според сценария, заглавие и автор полета ще се съхраняват данни за символи и цена и публикувана_ година полетата ще съхраняват целочислените данни. Ето, заглавие полето се дефинира с уникалния атрибут. Това означава, че стойността на заглавие полето няма да приема дублирани данни.
модели.py
# Модул за импортиране на моделиот django.db модели за импортиране
# Определете класа Book за таблицата с книги
клас Книга (модели.Модел):
заглавие = модели.CharField (max_length = 100, уникален = True)
автор = модели.CharField (max_length = 100)
цена = модели.IntegerField ()
публикувана_ година = модели.IntegerField ()
Стартирайте макемиграции команда за създаване на нова миграция въз основа на промените, направени от моделите.
$ python3 управлява.py makemigrations bookappСтартирайте мигрират команда за изпълнение на SQL команди и създаване на всички таблици в базата данни, които са дефинирани в модели.py файл.
$ python3 управлява.py мигриратПроменете съдържанието на администратор.py файл със следното съдържание. Тук класът Book на моделите е регистриран с помощта на регистрирам() метод за показване на книги таблици в таблото за управление на Django.
администратор.py
# Импортиране на администраторски модулот django.принос вноса администратор
# Импортиране на модел на книга
от .модели внос книга
# Регистрирайте модел на книга
администратор.сайт.регистър (книга)
Създайте файл с шаблон с име DisplayBookList.html вътре в bookapp / templates / папка със следния скрипт. Този скрипт ще покаже всички данни от таблицата с книги в таблична форма. Освен това цикълът for се използва в скрипта за итерация на данните, предадени от мнения.py файл.
DisplayBookList.html
Django bulk_create () Урок
Списък с книги на Python
документ за самоличност | Име | Автор | Година на публикуване | Цена |
---|---|---|---|---|
Книга.документ за самоличност | Книга.заглавие | Книга.автор | Книга.публикувано_година | $ книга.цена |
Променете съдържанието на мнения.py файл със следния скрипт. Имената на моделите и шаблоните са дефинирани в BulkInsert клас. get_queryset () методът на класа е дефиниран в скрипта за връщане на всички записи от таблицата с книги. От друга страна, Книга.обекти.всичко() метод се използва за връщане на всички записи на таблицата с книги. съществува () метод се използва в скрипта за проверка на книги таблицата е празна или не. Ако този метод се върне Невярно тогава в таблицата с книги ще бъдат вмъкнати пет записа с помощта на bulk_create () метод.
мнения.py
от django.преки пътища за импортиране# Импортиране на модул ListView
от django.мнения.родово импортиране ListView
# Импортиране на модел на книга
от .модели внос книга
# Определете клас за вмъкване на множество данни
клас BulkInsert (ListView):
# Определете модел
модел = Книга
# Определете шаблон
template_name = 'DisplayBookList.html '
# Прочетете всички съществуващи записи на таблицата с книги
queryset = Книга.обекти.всичко()
# Проверете дали таблицата с книги е празна или не
ако queryset.съществува () == Невярно:
# Поставете едновременно 5 записа в таблицата с книги
Книга.обекти.bulk_create ([
Книга (заглавие = 'Python Crash Course, 2nd Edition', author = 'Eric Matthes', price = 15, published_year = 2019),
Книга (заглавие = 'Автоматизирайте скучните неща с Python, 2-ро издание', автор = 'Al Sweigart', цена = 30,
публикувано_година = 2019),
Книга (заглавие = 'Learning Python', автор = 'Mark Lutz', цена = 15, публикувана_ година = 2019),
Книга (заглавие = 'Head First Python', автор = 'Paul Barry', цена = 45, публикувана_ година = 2016),
Книга (заглавие = 'A Byte of Python', автор = 'Swaroop C H', цена = 15, публикувано_годишно = 2013),
]))
# Върнете всички записи на таблицата с книги
def get_queryset (самостоятелно):
# Задайте набор от заявки по подразбиране
връщане на книга.обекти.всичко()
Променете съдържанието на URL адреси.py файл със следния скрипт. В сценария, „администратор /“ path е дефиниран за отваряне на таблото за управление на Django и пътят 'books /' е дефиниран за извикване на BulkInsert.as_view () метод, който ще вмъкне пет записа в таблицата с книги и ще ги върне във файла на шаблона.
URL адреси.py
# Импортиране на администраторски модулот django.принос вноса администратор
# Импортиране на път и включване на модул
от django.път за импортиране на URL адреси
от изгледи за импортиране на bookapp
urlpatterns = [
# Определете пътя за администратор
път ('admin /', admin.сайт.URL адреси),
path ('книги /', изгледи.BulkInsert.as_view ()),
]
Отворете таблото за управление на Django, за да проверите дали данните са вмъкнати правилно или не bulk_create () функция.
Вмъкнатите записи на книги таблица ще се покаже в браузъра след изпълнението на следния URL адрес.
http: // localhost: 8000 / книги /
Заключение:
Няколко записа могат да бъдат вмъкнати в таблицата на базата данни на Django по различни начини с помощта на bulk_create (). Един лесен начин за вмъкване на множество записи в таблицата на базата данни с помощта на този метод беше показан в този урок, за да помогне на потребителите на Django да разберат логиката зад процеса.