El marco de Django se puede utilizar para crear una aplicación web con una base de datos escribiendo un script en modelos.py y puntos de vista.py archivos de la aplicación Django. Los datos se pueden insertar en las tablas de la base de datos utilizando el Panel de administración de Django o escribiendo un script en el puntos de vista.py expediente. El panel de administración de Django requiere un inicio de sesión para que un usuario autenticado acceda a las tablas de la base de datos. Se pueden insertar registros únicos o múltiples en las tablas de la base de datos escribiendo un script. bulk_create () El método es una de las formas de insertar varios registros en la tabla de la base de datos. Cómo bulk_create () El método que se utiliza para insertar los datos múltiples en una tabla de base de datos de Django se mostrará en este tutorial.
Requisitos previos:
Antes de practicar el guión de este tutorial, debe completar las siguientes tareas:
- Instale Django versión 3+ en Ubuntu 20+ (preferiblemente)
- Crea un proyecto de Django
- Ejecute el servidor Django para comprobar si el servidor funciona correctamente o no
Configura una aplicación Django:
Ejecute el siguiente comando para crear una aplicación Django llamada bookapp.
$ python3 administrar.py startapp bookappEjecute el siguiente comando para crear el usuario para acceder a la base de datos de Django. Si ya creó uno, entonces no necesita ejecutar el comando.
$ python3 administrar.py crea superusuarioAgregue el nombre de la aplicación en el INSTALLED_APP parte de ajustes.py expediente.
INSTALLED_APPS = [..
'bookapp'
]
Crea una carpeta llamada plantillas dentro de bookapp carpeta y establezca la ubicación de la plantilla de la aplicación en el PLANTILLAS parte de ajustes.py expediente.
PLANTILLAS = [.. .
'DIRS': ['/ home / fahmida / django_pro / bookapp / templates'],
.. .
,
]
Cree un modelo para la tabla de la base de datos:
Abre el modelos.py archivo de la bookapp carpeta y agregue el siguiente script para definir la estructura de libros mesas. Libro La clase se define para crear una tabla llamada libros con título, autor, precio, y año_publicado campos. Según el guión, título y autor los campos almacenarán datos de caracteres y precio y año_publicado los campos almacenarán los datos enteros. Aquí el título el campo se define con el atributo único. Eso significa que el valor de la título El campo no aceptará datos duplicados.
modelos.py
# Módulo de importación de modelosde django.modelos de importación de db
# Definir la clase de libros para la mesa de libros
Libro de clase (modelos.Modelo):
title = modelos.CharField (max_length = 100, único = verdadero)
autor = modelos.CharField (longitud_máxima = 100)
precio = modelos.IntegerField ()
año_publicado = modelos.IntegerField ()
Ejecutar el hacer migraciones comando para crear una nueva migración basada en los cambios realizados por los modelos.
$ python3 administrar.py makemigrations bookappEjecutar el emigrar comando para ejecutar los comandos SQL y crear todas las tablas en la base de datos que están definidas en el modelos.py expediente.
$ python3 administrar.py migrarModificar el contenido del administración.py archivo con el siguiente contenido. Aquí, la clase Book de los modelos se registra utilizando el Registrarse() método para mostrar el libros tablas en el panel de administración de Django.
administración.py
# Importar módulo de administraciónde django.administrador de importación de contribuciones
# Importar modelo de libro
de .libros de importación de modelos
# Registro modelo de libro
administración.sitio.registrarse (Libro)
Crea un archivo de plantilla llamado DisplayBookList.html dentro de bookapp / templates / carpeta con el siguiente script. Este script mostrará todos los datos de la tabla de libros en forma tabular. Aparte de eso, el bucle for se usa en el script para iterar los datos pasados desde el puntos de vista.py expediente.
DisplayBookList.html
Tutorial de Django bulk_create ()
Lista de libros de Python
IDENTIFICACIÓN | Nombre | Autor | Año de publicación | Precio |
---|---|---|---|---|
libro.identificación | libro.título | libro.autor | libro.año_publicado | $ libro.precio |
Modificar el contenido del puntos de vista.py archivo con el siguiente script. Los nombres de modelo y plantilla se definen en el BulkInsert clase. get_queryset () El método de la clase se define en el script para devolver todos los registros de la tabla de libros. Por otro lado, Libro.objetos.todas() El método se utiliza para devolver todos los registros de la tabla de libros. existe () El método se utiliza en el script para comprobar el libros la mesa está vacía o no. Si este método regresa Falso luego se insertarán cinco registros en la tabla de libros usando el bulk_create () método.
puntos de vista.py
de django.importación de atajos render# Importar módulo ListView
de django.puntos de vista.ListView de importación genérico
# Importar modelo de libro
de .libros de importación de modelos
# Definir clase para insertar múltiples datos
clase BulkInsert (ListView):
# Definir modelo
modelo = Libro
# Definir plantilla
template_name = 'DisplayBookList.html '
# Leer todos los registros existentes de la tabla de libros
queryset = Libro.objetos.todas()
# Comprueba que la mesa de libros está vacía o no
si queryset.existe () == Falso:
# Inserte 5 registros en la tabla de libros a la vez
Libro.objetos.bulk_create ([
Libro (título = 'Curso intensivo de Python, 2.a edición', autor = 'Eric Matthes', precio = 15, año_publicado = 2019),
Libro (título = 'Automatizar las cosas aburridas con Python, 2da edición', autor = 'Al Sweigart', precio = 30,
año_publicado = 2019),
Libro (título = 'Aprendiendo Python', autor = 'Mark Lutz', precio = 15, año_publicado = 2019),
Libro (título = 'Head First Python', autor = 'Paul Barry', precio = 45, año_publicado = 2016),
Libro (título = 'Un byte de Python', autor = 'Swaroop C H', precio = 15, año_publicado = 2013),
])
# Devuelve todos los registros de la tabla de libros
def get_queryset (yo):
# Establecer el conjunto de consultas predeterminado
devolver libro.objetos.todas()
Modificar el contenido del urls.py archivo con el siguiente script. En el guion, el 'admin /' La ruta se define para abrir el Panel de administración de Django y la ruta 'libros /' se define para llamar al BulkInsert.as_view () método que insertará cinco registros en la tabla de libros y devolverá los registros al archivo de plantilla.
urls.py
# Importar módulo de administraciónde django.administrador de importación de contribuciones
# Importar ruta e incluir módulo
de django.ruta de importación de URL
desde las vistas de importación de bookapp
urlpatterns = [
# Definir la ruta para el administrador
ruta ('admin /', admin.sitio.urls),
ruta ('libros /', vistas.BulkInsert.as_view ()),
]
Abra el Panel de administración de Django para verificar si los datos se insertaron correctamente o no usando el bulk_create () función.
Los registros insertados del libros La tabla se mostrará en el navegador después de ejecutar la siguiente URL.
http: // localhost: 8000 / libros /
Conclusión:
Se pueden insertar varios registros en la tabla de la base de datos de Django de diferentes maneras usando el bulk_create (). En este tutorial se mostró una forma sencilla de insertar varios registros en la tabla de la base de datos utilizando este método para ayudar a los usuarios de Django a comprender la lógica detrás del proceso.