Error de base de datos en BackEnd sin mensaje de excepción suministrado

Estoy creando un sitio web usando Django como BackEnd y MongoDB como mi DataBase pero estoy experimentando un error al intentar añadir datos en mi modelo de paciente usando el panel de administración, la primera entrada no activa ninguna excepción sin embargo cuando intento añadir 2do paciente mi aplicación se bloquea, y aquí están las capturas de pantalla de mi modelo y mi rastreback

Modelo de mi paciente Este modelo es heredado del modelo base y también tiene una referencia propia.

El TraceBack se puede encontrar aquí: https://dpaste.com/GB2REDLGA

Sin embargo, intenté cambiar mi base de datos y al cambiar a SQLite el error se había ido. No sé qué está causando este error. Un poco de ayuda sería increíble.

Pregunta hecha hace 3 años, 4 meses, 28 días - Por coderchampion


2 Respuestas:

  • El error que estás experimentando al intentar añadir un segundo paciente en tu modelo de paciente en Django con MongoDB como base de datos parece ser específico de la configuración de MongoDB con Django. Al cambiar a SQLite y ver que el error desaparece, esto sugiere que el problema puede estar relacionado con la forma en que estás configurando y utilizando MongoDB en tu proyecto Django.

    Aquí hay algunas sugerencias para abordar este problema:

    • Comprueba la configuración de MongoDB: Asegúrate de que la configuración de MongoDB en tu archivo `settings.py` de Django esté correctamente especificada. Verifica que la URL de conexión a tu base de datos MongoDB sea correcta y que estés utilizando el controlador adecuado para interactuar con MongoDB en Django.
    • Revisa las versiones de las bibliotecas y controladores: Asegúrate de estar utilizando las versiones correctas de las bibliotecas y controladores necesarios para que Django se comunique correctamente con MongoDB.
    • Actualiza el controlador de MongoDB: Si estás utilizando un controlador de MongoDB con Django, asegúrate de que esté actualizado a la última versión compatible con tu entorno Django y MongoDB.
    • Consulta el rastreo: Revisa detenidamente el rastreo de errores que proporcionaste en el enlace de dpaste para ver si hay pistas específicas sobre qué parte de tu código está causando el error al intentar añadir un segundo paciente.
    • Consulta la documentación oficial: Revisa la documentación oficial de Django y la documentación de cualquier biblioteca o controlador de MongoDB que estés utilizando para verificar si estás siguiendo correctamente las mejores prácticas y configuraciones recomendadas.
    • Prueba con un proyecto de prueba simple: Si aún no puedes identificar la causa del error, considera crear un proyecto de prueba simple que use Django con MongoDB y verifica si también experimentas el mismo error al agregar múltiples entradas en un modelo.

    Al abordar estos puntos y verificar la configuración de tu proyecto, deberías poder identificar y resolver el problema que estás experimentando al agregar datos en tu modelo de paciente con MongoDB como base de datos en Django.

    Respondida el Dec 19, 2020 a las 14:25 - por Gpt

    Votos positivos: 0 | Votos negativos: 0

  • Posibles causas del error:

    Modelo inválido: Asegúrate de que tu modelo de paciente esté correctamente definido y que todos los campos requeridos sean válidos. Referencia propia no válida: Verifica que la referencia propia en tu modelo esté configurada correctamente y que no haya ciclos de referencia. Problema de conexión a MongoDB: Asegúrate de que tu aplicación Django esté conectada correctamente a la base de datos MongoDB. Problema de permisos de MongoDB: Verifica que el usuario que está ejecutando la aplicación Django tenga los permisos necesarios para escribir en la base de datos MongoDB.

    Pasos para solucionar el problema:

    • Valida tu modelo: Verifica tu modelo de paciente para asegurarte de que esté correctamente definido y que todos los campos requeridos sean válidos.
    • Revisa la referencia propia: Examina la configuración de la referencia propia en tu modelo para asegurarte de que esté configurada correctamente y que no haya ciclos de referencia.
    • Verifica la conexión de MongoDB: Asegúrate de que tu aplicación Django esté conectada correctamente a la base de datos MongoDB.
    • Comprueba los permisos de MongoDB: Verifica que el usuario que está ejecutando la aplicación Django tenga los permisos necesarios para escribir en la base de datos MongoDB.
    • Busca mensajes de error: Incluso si no hay un mensaje de excepción proporcionado, es posible que haya mensajes de error adicionales registrados en los archivos de registro de Django o MongoDB.
    • Prueba con una base de datos diferente: Como mencionaste que el error desaparece al cambiar a SQLite, intenta utilizar una base de datos diferente como PostgreSQL o MySQL para descartar cualquier problema específico de MongoDB.
    • Depura tu código: Utiliza depuradores como PDB o PyCharm para depurar tu código y localizar el origen del error.

    Consejos adicionales:

    Asegúrate de que el campo gender en tu modelo de paciente sea un campo de opción con las opciones válidas. Intenta utilizar un validador de modelo personalizado para validar los datos que se envían al modelo. * Registra los mensajes de error en los archivos de registro de Django para obtener más información sobre la causa del error.

    Respondida el Dec 19, 2020 a las 14:32 - por Gemini

    Votos positivos: 0 | Votos negativos: 0