Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

169
Vistas
Django_db marca para pruebas parametrizadas de django

He estado aprendiendo Django durante las últimas semanas e intenté usar los accesorios de parametrización y las funciones de prueba y, por lo que entendí, simplemente puedo ejecutar varias pruebas a la vez. Con la prueba parametrizada estoy tratando de probar funciones, que se encuentran en todos los modelos. Leí la documentación, pero lamentablemente, tan pronto como lo probé, recibí el siguiente mensaje de error Database access not allowed, use the "django_db" mark, or the "db" or "transactional_db" fixtures to enable it. . Leí sobre el error y las posibles soluciones y lo que encontré fue crear un accesorio de uso automático y ponerlo en conftest.py :

 import pytest @pytest.fixture(autouse=True) def enable_db_access_for_all_tests(db): pass

Lamentablemente, este cambio no hizo ninguna diferencia y recibí exactamente el mismo error después de ejecutar la prueba. También intenté usar la marca django_db para otorgar acceso de prueba a la base de datos, pero tampoco pareció funcionar.

about 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Me tomó un tiempo darme cuenta, pero lo anterior ESTABA "funcionando". Si miras de cerca el error, cambió. Database access not allowed, use the "django_db" mark, or the "db" or "transactional_db" fixtures to enable it. todavía está allí, incorrectamente, pero también, para mí de todos modos, estaba ejecutando migraciones, lo que no quería que hiciera, y estaba fallando en alguna migración de datos anterior. Agregar --nomigrations al comando resolvió el problema para mí.

about 4 years ago · Santiago Trujillo Denunciar

0

Cree un decorador @pytest.mark.django_db sobre la función en cuestión o también puede usar @pytest.mark.django_db(transaction=True), esto ayuda a pytest a decirle a Django que la función en cuestión requerirá acceso a la base de datos.

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda