Фреймворк Django можно использовать для создания веб-приложения с базой данных, написав скрипт в модели.ру а также взгляды.ру файлы приложения Django. Данные могут быть вставлены в таблицы базы данных с помощью панели администрирования Django или написав скрипт в взгляды.ру файл. Django Administration Dashboard требует входа в систему для аутентифицированного пользователя для доступа к таблицам базы данных. Одна или несколько записей могут быть вставлены в таблицы базы данных, написав скрипт. bulk_create () метод - один из способов вставить несколько записей в таблицу базы данных. Как bulk_create () метод, используемый для вставки нескольких данных в таблицу базы данных Django, будет показан в этом руководстве.
Предпосылки:
Перед тем, как практиковать сценарий этого руководства, вам необходимо выполнить следующие задачи:
- Установите Django версии 3+ на Ubuntu 20+ (желательно)
- Создайте проект Django
- Запустите сервер Django, чтобы проверить, работает ли сервер правильно или нет
Настройте приложение Django:
Выполните следующую команду, чтобы создать приложение Django с именем bookapp.
$ python3 manage.py startapp bookappВыполните следующую команду, чтобы создать пользователя для доступа к базе данных Django. Если вы уже создали его, то вам не нужно запускать команду.
$ python3 manage.py создает суперпользователяДобавьте название приложения в INSTALLED_APP часть настройки.ру файл.
INSTALLED_APPS = […
'bookapp'
]
Создайте папку с именем шаблоны внутри bookapp папку и задайте расположение шаблона приложения в папке ШАБЛОНЫ часть настройки.ру файл.
ШАБЛОНЫ = [… .
'DIRS': ['/ home / fahmida / django_pro / bookapp / templates'],
… .
,
]
Создайте модель для таблицы базы данных:
Открой модели.ру файл из bookapp папку и добавьте следующий скрипт, чтобы определить структуру книги столы. Книга класс определен для создания таблицы с именем books с название, автор, цена, а также опубликованный_год поля. По сценарию, заглавие а также автор поля будут хранить символьные данные, а также цена и опубликованный_год поля будут хранить целочисленные данные. Здесь заглавие поле определяется уникальным атрибутом. Это означает, что ценность заглавие поле не принимает повторяющиеся данные.
модели.ру
# Модуль импорта моделейиз джанго.модели импорта БД
# Определить класс Book для таблицы books
классная книга (модели.Модель):
title = модели.CharField (max_length = 100, unique = True)
автор = модели.CharField (max_length = 100)
цена = модели.IntegerField ()
Published_year = модели.IntegerField ()
Запустить миграция команда для создания новой миграции на основе изменений, внесенных моделями.
$ python3 manage.py makemigrations bookappЗапустить мигрировать команда для выполнения команд SQL и создания всех таблиц в базе данных, которые определены в модели.ру файл.
$ python3 manage.Py migrateИзмените содержимое админ.ру файл со следующим содержанием. Здесь класс моделей Book регистрируется с помощью регистр() метод отображения книги таблицы на панели администрирования Django.
админ.ру
# Импортировать админ-модульиз джанго.contrib import admin
# Импортировать модель книги
из .модели импорт книги
# Модель регистрационной книги
админ.сайт.зарегистрироваться (Книга)
Создайте файл шаблона с именем DisplayBookList.html внутри bookapp / templates / папка со следующим сценарием. Этот скрипт отобразит все данные таблицы книг в табличной форме. Помимо этого, цикл for используется в скрипте для итерации данных, передаваемых из взгляды.ру файл.
DisplayBookList.html
Учебное пособие по Django bulk_create ()
Список книг Python
Я БЫ | Имя | Автор | Год публикации | Цена |
---|---|---|---|---|
книга.я бы | книга.заглавие | книга.author | книга.Published_year | $ книга.цена |
Измените содержимое взгляды.ру файл со следующим скриптом. Имена модели и шаблона определены в BulkInsert класс. get_queryset () метод класса определен в скрипте для возврата всех записей таблицы книг. С другой стороны, Книга.объекты.все() метод используется для возврата всех записей таблицы книг. существуют() используется в скрипте для проверки книги таблица пуста или нет. Если этот метод возвращает Ложь тогда пять записей будут вставлены в таблицу книг с помощью bulk_create () метод.
взгляды.ру
из джанго.ярлыки импорт рендеринга# Импортировать модуль ListView
из джанго.взгляды.общий импорт ListView
# Импортировать модель книги
из .модели импорт книги
# Определить класс для вставки нескольких данных
класс BulkInsert (ListView):
# Определить модель
model = Книга
# Определить шаблон
template_name = 'DisplayBookList.html '
# Прочитать все существующие записи таблицы книг
queryset = Книга.объекты.все()
# Проверить, что таблица книг пуста или нет
если набор запросов.существует () == Ложь:
# Вставляем 5 записей в таблицу книг за раз
Книга.объекты.bulk_create ([
Книга (title = 'Ускоренный курс Python, 2-е издание', автор = 'Эрик Маттес', цена = 15, опубликованный_год = 2019),
Книга (title = 'Автоматизируйте скучные вещи с помощью Python, 2-е издание', автор = 'Al Sweigart', цена = 30,
Published_year = 2019),
Книга (title = 'Learning Python', author = 'Mark Lutz', цена = 15, Published_year = 2019),
Книга (title = 'Head First Python', автор = 'Paul Barry', цена = 45, опубликованный_год = 2016),
Книга (title = 'A Byte of Python', author = 'Swaroop C H', цена = 15, Published_year = 2013),
])
# Возвращаем все записи таблицы books
def get_queryset (сам):
# Установить набор запросов по умолчанию
вернуть книгу.объекты.все()
Измените содержимое URL-адреса.ру файл со следующим скриптом. В сценарии, "админ /" путь определен для открытия панели администрирования Django, а путь "books /" определен для вызова BulkInsert.as_view () метод, который вставит пять записей в таблицу книг и вернет записи в файл шаблона.
URL-адреса.ру
# Импортировать админ-модульиз джанго.contrib import admin
# Импортировать путь и включить модуль
из джанго.путь импорта URL
из просмотра импорта приложения
urlpatterns = [
# Определить путь для администратора
путь ('админ /', админ.сайт.URL-адреса),
путь ('книги /', просмотры.BulkInsert.as_view ()),
]
Откройте панель администрирования Django, чтобы проверить, правильно ли вставлены данные, используя bulk_create () функция.
Вставленные записи книги таблица будет отображаться в браузере после выполнения следующего URL.
http: // локальный: 8000 / книги /
Заключение:
Несколько записей можно вставить в таблицу базы данных Django разными способами, используя bulk_create (). В этом руководстве был показан простой способ вставки нескольких записей в таблицу базы данных с использованием этого метода, чтобы помочь пользователям Django понять логику процесса.