Python

Как использовать bulk_create () в Django?

Как использовать bulk_create () в Django?

Фреймворк Django можно использовать для создания веб-приложения с базой данных, написав скрипт в модели.ру а также взгляды.ру файлы приложения Django. Данные могут быть вставлены в таблицы базы данных с помощью панели администрирования Django или написав скрипт в взгляды.ру файл. Django Administration Dashboard требует входа в систему для аутентифицированного пользователя для доступа к таблицам базы данных. Одна или несколько записей могут быть вставлены в таблицы базы данных, написав скрипт. bulk_create () метод - один из способов вставить несколько записей в таблицу базы данных. Как bulk_create () метод, используемый для вставки нескольких данных в таблицу базы данных Django, будет показан в этом руководстве.

Предпосылки:

Перед тем, как практиковать сценарий этого руководства, вам необходимо выполнить следующие задачи:

  1. Установите Django версии 3+ на Ubuntu 20+ (желательно)
  2. Создайте проект Django
  3. Запустите сервер 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



<br>Учебное пособие по Django bulk_create ()<br>



Список книг Python







% для книги в object_list%



% endfor%
Я БЫИмяАвторГод публикацииЦена
книга.я бы книга.заглавие книга.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 понять логику процесса.

Как изменить направление прокрутки мыши и сенсорной панели в Windows 10
Мышь а также Сенсорная панельs не только упрощают вычисления, но и делают их более эффективными и требуют меньше времени. Мы не можем представить себе...
Как изменить указатель мыши и размер курсора, цвет и схему в Windows 10
Указатель мыши и курсор в Windows 10 - очень важные аспекты операционной системы. То же самое можно сказать и о других операционных системах, так что,...
Бесплатные движки с открытым исходным кодом для разработки игр для Linux
В этой статье будет рассмотрен список бесплатных игровых движков с открытым исходным кодом, которые можно использовать для разработки 2D- и 3D-игр в L...