Uso del valor predeterminado de NULL en el modelo Django

Uso del valor predeterminado de NULL en el modelo Django
El modelo es una de las partes significativas de la aplicación Django basada en la base de datos. El modelo define la estructura de la base de datos. El tipo de datos de la tabla de la base de datos y la forma de insertar datos basados ​​en diferentes atributos se describen en el modelo. La validación de datos se puede controlar utilizando el modelo también. Cada tabla de la base de datos contiene un número particular de campos o columnas. El modelo define el tipo de cada campo de la tabla. El atributo predeterminado se usa en el modelo para establecer un valor predeterminado para un área en particular si el usuario para ese campo no inserta datos. El valor predeterminado de un campo puede ser blanco o cualquier valor específico. El nulo y blanco Los valores no son los mismos. nulo se usa para definir que el valor vacío está permitido o no para un campo en particular. Si el nulo se establece en FALSO, entonces la cadena vacía no se permitirá en el campo tipo entero, pero la cadena vacía se puede asignar en el campo tipo cadena. Si el nulo se establece en Verdadero, entonces el valor nulo se dará en el campo tipo entero en lugar de una cadena vacía. cañónk se usa para la validación del formulario principalmente y no verifica el tipo de datos del campo. La forma de usar por defecto y nulo Los atributos en el modelo Django se han mostrado en este tutorial.

Prerrequisitos:

Antes de practicar el guión de este tutorial, debe completar las siguientes tareas.

A. Instale la versión 3+ de Django en Ubuntu 20+ (preferiblemente)
B. Crear un proyecto Django
C. Ejecute el servidor Django para verificar que el servidor funcione correctamente o no.

Configurar una aplicación Django:

A. Ejecute el siguiente comando para crear una aplicación Django con nombre databaseApp.

$ python3 gestionar.py startapp databaseApp

B. Ejecute el siguiente comando para crear el usuario para acceder a la base de datos Django. Si ha completado el usuario antes, entonces no necesita ejecutar el comando.

$ python3 gestionar.py createuperuser

C. Agregue el nombre de la aplicación en el Instalado_app Parte de la configuración.archivo py.

Instalado_apps = [

'ValidationApp'
]

D. Crea una carpeta llamada plantillas dentro de databaseApp carpeta y configure el plantillas ubicación de la aplicación en el PLANTILLAS parte de ajustes.py archivo.

Plantillas = [

… .
'Dirs': ['/home/fahmida/django_pro/databaseApp/plantlates'],
… .
,
]

Modelo de diseño con atributos predeterminados y nulos:

Modificar el modelos.py Archivo con el siguiente script para crear una tabla con nombre productos que contendrán cuatro campos sin el campo de identificación. Estos nombres, precio, fabricación_date y expire_date. El valor del nulo El atributo se establece en verdadero para todos los campos. El valor de el espacio en blanco El atributo se establece en verdadero para todos los campos también. Esto significa que el usuario puede mantener en blanco los campos antes de enviar el formulario que utilizará este modelo. El por defecto El valor del atributo se establece para el precio, fabricación_date y expire_date.

modelos.py

# Módulo de importación de modelos
de Django.Modelos de importación de DB
# Crear clase para definir la estructura de la tabla de maestros
Producto de clase (modelos.Modelo):
nombre = modelos.Charfield (max_length = 50, null = true, blank = true)
precio = modelos.Integerfield (null = true, default = ", blank = true)
fabricante_date = modelos.DateField (null = true, default = '0000-00-00', blank = true)
expire_date = modelos.DateField (null = true, default = '0000-00-00', blank = true)

Ejecute los siguientes comandos de migración para crear los archivos de migración necesarios y la tabla de base de datos de la base de datos SQLite.

$ python3 gestionar.Py Makemigrations DatabaseApp
$ python3 gestionar.PY migra

Inserción de datos utilizando el panel de administración de Django:

Modificar el contenido de el administrador.py Archivo con el siguiente script para registrar el modelo en la base de datos.

administración.py
Modificar el URLS.py Archivo con el siguiente script para definir la ruta para abrir el tablero administrativo Django.

URLS.py

# Importar el módulo de administración
de Django.administrador de importación de contribución
# Módulo de ruta de importación
de Django.ruta de importación de URLS
# Defina la ruta para el cliente y el administrador
urlpatterns = [
ruta ('admin/', administrador.sitio.URLS)
]

Ahora, ejecute el servidor Django y vaya al tablero administrativo Django utilizando la siguiente URL.

http: // localhist: 8000/administrador

Abra el formulario de inscripción del producto haciendo clic en Agregar producto. Si el usuario envía el formulario sin insertar datos, la siguiente salida aparecerá en el navegador. Aquí, dos campos de fecha muestran errores porque el valor predeterminado del campo de fecha no está en un formato válido.

La siguiente salida aparecerá después de agregar los datos de fecha válidos. Aquí el precio el campo está en blanco para usar el atributo predeterminado.

Inserción de datos utilizando la plantilla:

La forma de insertar datos en el productos La tabla que usa la forma HTML se ha mostrado en esta sección. Aquí, los elementos de formulario se generarán en base al modelo que se crea anteriormente.

formularios.py

# Módulo de importación de formularios
de formularios de importación de Django
# Importar modelo de cliente
de dbapp.Producto de importación de modelos
# Defina la clase para el formulario del cliente
Class ProductForm (formularios.ModeflaM):
Meta de clase:
modelo = producto
campos = '__all__'

Crear el archivo html llamado producto.html dentro de plantillas carpeta de la aplicación con el siguiente script. Los datos del formulario se enviarán cuando el usuario haga clic en el Ahorrar botón.

producto.html

Formulario de inscripción al cliente



% csrf_token %
forma.as_p

Modificar el puntos de vista.py Archivo con el siguiente script para insertar datos en el productos tabla después de validar el formulario. Agregar producto() La función se define en el script para verificar que el formulario se envíe o no, y si se envía el formulario, entonces verificará los datos del formulario son válidos o no válidos. Si es válida() Devuelve la función verdadero, entonces los datos se insertarán en el productos tabla, y se mostrará un mensaje de éxito en el navegador.

puntos de vista.py

# Importar el módulo httpresponse
de Django.http.Respuesta import httpresponse
# Módulo de renderizado de importación
de Django.Rénero de importación de atajos
# Importar información de producto
de dbapp.Formularios Importar formación de productos
# Definir la función para agregar la entrada del producto
Def addproduct (solicitud):
Si solicite.método == "Post":
form = productform (solicitud.CORREO)
# Si los datos del formulario son válidos o no
Si se forman.es válida():
intentar:
# Guarde los datos del formulario en la base de datos
forma.ahorrar()
# Defina el mensaje para el usuario
datos = ['

El producto agregado.

']
# Devuelve la respuesta
return httpresponse (datos)
excepto:
aprobar
demás:
# Defina el objeto de formulario
form = productform ()
# Muestra el formulario de inscripción del producto
retorno render (solicitud, 'producto.html ', ' form ': form)

Modificar el URLS.py Archivo con el siguiente script para definir la ruta para llamar a la función de vista.

URLS.py

# Importar el módulo de administración
de Django.administrador de importación de contribución
# Módulo de ruta de importación
de Django.ruta de importación de URLS
# Vista de importación
Desde las vistas de importación dbapp
# Defina la ruta para el cliente y el administrador
urlpatterns = [
ruta (", Vistas.Agregar producto),
ruta ('admin/', administrador.sitio.URLS)
]

Ahora, ejecute el servidor Django y abra la URL base en el navegador.

http: // localhist: 8000/

Aparecerá la siguiente forma.

La siguiente ValueError aparecerá si el usuario envía el formulario sin agregar ningún dato en el formulario. Aquí el precio el campo es un entero que no puede ser la cadena vacía.

Si el usuario ingresa los datos válidos como el formulario a continuación y presiona el Ahorrar botón, se insertará un nuevo registro de producto en la base de datos.

Aparecerá la siguiente imagen si abre el registro recién insertado desde el tablero de Django.

Conclusión:

Se ha diseñado un modelo utilizando atributos nulos y predeterminados en este tutorial. A continuación, las formas de insertar datos en estos campos en el back-end y el front-end se han mostrado aquí para ayudar al lector a conocer los usos de los atributos predeterminados y nulos en la base de datos Django.