Django

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 importantes de la aplicación Django basada en bases 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 de ese campo no inserta datos. El valor predeterminado de un campo puede ser blanco o cualquier valor específico. La nulo y blanco los valores no son los mismos. nulo se utiliza 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 de tipo entero, pero la cadena vacía se puede asignar en el campo de tipo cadena. Si el nulo se establece en Cierto, entonces el valor NULL se dará en el campo de tipo entero en lugar de una cadena vacía. blank se usa principalmente para la validación del formulario y no verifica el tipo de datos del campo. La forma de usar defecto y nulo atributos en el modelo de Django se ha mostrado en este tutorial.

Requisitos previos:

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

A. Instale Django versión 3+ en Ubuntu 20+ (preferiblemente)
B. Crea un proyecto de Django
C. Ejecute el servidor Django para comprobar si el servidor funciona correctamente o no.

Configura una aplicación Django:

A. Ejecute el siguiente comando para crear una aplicación Django llamada base de datos.

$ python3 administrar.base de datos py startapp

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

$ python3 administrar.py crea superusuario

C. Agregue el nombre de la aplicación en el INSTALLED_APP parte de la configuración.archivo py.

INSTALLED_APPS = [
..
'validationapp'
]

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

PLANTILLAS = [

.. .
'DIRS': ['/ home / fahmida / django_pro / databaseapp / templates'],
.. .
,
]

Modelo de diseño con atributos predeterminados y nulos:

Modificar el modelos.py archivo con el siguiente script para crear una tabla llamada productos que contendrá cuatro campos sin el campo de identificación. Estas nombres, precio, fecha de fabricación y fecha de vencimiento. El valor de la 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 dejar los campos en blanco antes de enviar el formulario que utilizará este modelo. La defecto El valor del atributo se establece para el precio, la fecha de fabricación y la fecha de vencimiento.

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 profesores
clase Producto (modelos.Modelo):
nombre = modelos.CharField (max_length = 50, null = True, blank = True)
precio = modelos.IntegerField (nulo = verdadero, predeterminado = ", en blanco = verdadero)
fecha_fabricación = modelos.DateField (nulo = verdadero, predeterminado = '0000-00-00', en blanco = verdadero)
expire_date = modelos.DateField (nulo = verdadero, predeterminado = '0000-00-00', en blanco = verdadero)

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

$ python3 administrar.py makemigrations databaseapp
$ python3 administrar.py migrar

Inserción de datos mediante 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 panel administrativo de Django.

urls.py

# Importar módulo de administración
de django.administrador de importación de contribuciones
# Módulo de ruta de importación
de django.ruta de importación de URL
# Definir ruta para cliente y administrador
urlpatterns = [
ruta ('admin /', admin.sitio.urls)
]

Ahora, ejecute el servidor Django y vaya al Panel administrativo de Django usando la siguiente URL.

http: // localhist: 8000 / admin

abra el formulario de entrada de producto haciendo clic en Añadir Producto. Si el usuario envía el formulario sin insertar datos, el siguiente resultado aparecerá en el navegador. Aquí, dos campos de fecha muestran errores porque el valor predeterminado del campo de fecha no tiene 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 usando la plantilla:

La forma de insertar datos en el productos En esta sección se ha mostrado una tabla con formulario HTML. Aquí, los elementos del formulario se generarán en función del modelo que se creó anteriormente.

formas.py

# Módulo de importación de formularios
desde formularios de importación de django
# Modelo de cliente de importación
de dbapp.productos de importación de modelos
# Definir la clase para el formulario de cliente
clase ProductForm (formularios.ModelForm):
clase Meta:
modelo = Producto
campos = '__todos__'

Crea 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 entrada de cliente



% csrf_token%
formulario.as_p

Modificar el puntos de vista.py archivo con la siguiente secuencia de comandos para insertar datos en el productos tabla después de validar el formulario. Añadir Producto() la función está definida en el script para verificar que el formulario se envíe o no, y si el formulario se envía, entonces verificará que los datos del formulario sean válidos o inválidos. Si es válido() devuelve la función cierto, 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 módulo HttpResponse
de django.http.importación de respuesta HttpResponse
# Importar módulo de renderizado
de django.importación de atajos render
# Importar ProductForm
de dbapp.importación de formularios ProductForm
# Definir función para agregar entrada de producto
def AddProduct (solicitud):
si la solicitud.método == "POST":
formulario = ProductForm (solicitud.CORREO)
# Si los datos del formulario son válidos o no
si forma.es válido():
intentar:
# Guarde los datos del formulario en la base de datos
formulario.ahorrar()
# Definir el mensaje para el usuario
datos = ['

El producto agregado.

']
# Devuelve la respuesta
devolver HttpResponse (datos)
excepto:
aprobar
demás:
# Definir el objeto de formulario
formulario = ProductForm ()
# Muestre el formulario de entrada de producto
return render (solicitud, 'producto.html ', ' formulario ': formulario)

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

urls.py

# Importar módulo de administración
de django.administrador de importación de contribuciones
# Módulo de ruta de importación
de django.ruta de importación de URL
# Vista de importación
desde vistas de importación de dbapp
# Definir ruta para cliente y administrador
urlpatterns = [
ruta (", vistas.Añadir Producto),
ruta ('admin /', admin.sitio.urls)
]

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

http: // localhist: 8000 /

Aparecerá el siguiente formulario.

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 número 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 , se insertará un nuevo registro de producto en la base de datos.

La siguiente imagen aparecerá si abre el registro recién insertado desde el Panel 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 muestran aquí para ayudar al lector a conocer los usos de los atributos predeterminados y nulos en la base de datos de Django.

Cómo instalar League Of Legends en Ubuntu 14.04
Si eres fanático de League of Legends, esta es una oportunidad para que pruebes League of Legends. Tenga en cuenta que LOL es compatible con PlayOnLin...
Instale el último juego de estrategia de OpenRA en Ubuntu Linux
OpenRA es un motor de juego de estrategia en tiempo real libre / gratuito que recrea los primeros juegos de Westwood como el clásico Command & Conquer...
Instale el último emulador de Dolphin para Gamecube y Wii en Linux
Dolphin Emulator te permite jugar los juegos de Gamecube y Wii que elijas en computadoras personales con Linux (PC). Al ser un emulador de juegos de ...