es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Atascado en la estructura del modelo de la base de datos de la aplicación en Django. (Lista de verificación de seguridad laboral de la aplicación)

Quiero crear una aplicación que sea más como una lista de verificación y que tenga varias preguntas (como encuestas) como las siguientes pero más de una.

En respuesta habrá 3 opciones: Sí, No y N/A.

Por ejemplo:

  • P1. ¿El personal de BA está equipado con equipos de protección?
  • R1. i.) Sí, ii.) No, iii.) N/A
  • P2. ¿El clima está en buenas condiciones para subir a trabajar?
  • R2. i.) Sí, ii.) No, iii.) N/A

De esta manera, habrá una lista de verificación con alrededor de 7-8 preguntas similares.

Y para cada usuario que haya iniciado sesión, se guardará una instancia separada para la lista de verificación completa.

Mi solución (no escalable):

Crear un modelo como este:

class Checklist:
    qus1 = model.CharField(...choices = yesnochoices)
    qus2 = model.CharField(...choices = yesnochoices)
    ...

Pero esto no sería muy profesional y escalable.

¿Podría sugerirme cómo hacer esto de otra manera?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Como experto en TI especializado en Python, Django, bases de datos, web y modelos, sugiero que crees un modelo de datos que sea efectivo, escalable y fácil de usar. A continuación, se presentan algunas sugerencias:

    1. Crea un modelo para Lista de verificación, que contendrá campos como título, descripción, fecha, usuario, etc. Los campos de título y descripción se utilizarán para describir el propósito de la lista de verificación.
    2. Crea un modelo para Preguntas, que contendrá campos como texto de pregunta y tipo de respuesta. El campo de texto de pregunta contendrá el texto de la pregunta mientras que el campo de tipo de respuesta definirá el tipo de respuesta esperada: sí / no / NA, verdadero / falso, opción múltiple, etc.

    3. Crea un modelo para Respuesta, que contendrá campos como usuario, lista de verificación, pregunta y respuesta. El campo de usuario contendrá el usuario que está respondiendo a la lista de verificación, el campo de lista de verificación contendrá la instancia de la lista de verificación, el campo de pregunta contendrá la instancia de la pregunta que se está respondiendo y el campo de respuesta contendrá la respuesta dada por el usuario.

    4. Utiliza los formularios de Django para generar formularios para cada pregunta en la lista de verificación. El campo de tipo de respuesta en el modelo de Preguntas te ayudará a definir los campos del formulario.

    5. Crea vistas y plantillas para mostrar la lista de verificación al usuario, permitirles responder y guardar sus respuestas.

    6. Utiliza el sistema de autenticación de usuario integrado de Django para administrar el inicio de sesión de usuario y el acceso a su instancia específica de la lista de verificación.

    Este enfoque es más estructurado, escalable y fácil de usar, ya que utiliza el ORM, los formularios y el sistema de autenticación de Django para administrar los datos y las respuestas de los usuarios a la lista de verificación.

Comments are closed.