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

652
Vistas
¿Cómo especificar el esquema para json anidado en matraz_restx?

Estoy usando matraz_restx para las API de swagger. Las versiones son las siguientes:

 python - 3.8.0 flask - 2.0.2 flask_restx - 0.5.1

El siguiente es el json anidado para el que necesito especificar el esquema:

 dr_status_fields = app_api.model('DR Status',{ fields.String: { "elasticsearch": { "backup_status": fields.String, "backup_folder": fields.String, }, "mongodb": { "backup_status": fields.String, "backup_folder": fields.String, }, "postgresdb": { "backup_status": fields.String, "backup_folder": fields.String, }, "overall_backup_status": fields.String } })

Pero con esto, cuando cargo la URL de Swagger en el navegador, aparece un error en la línea de comando:

 Unable to render schema Traceback (most recent call last): File "/usr/local/lib/python3.8/site-packages/flask_restx/api.py", line 571, in __schema__ self._schema = Swagger(self).as_dict() File "/usr/local/lib/python3.8/site-packages/flask_restx/swagger.py", line 268, in as_dict "definitions": self.serialize_definitions() or None, File "/usr/local/lib/python3.8/site-packages/flask_restx/swagger.py", line 623, in serialize_definitions return dict( File "/usr/local/lib/python3.8/site-packages/flask_restx/swagger.py", line 624, in <genexpr> (name, model.__schema__) File "/usr/local/lib/python3.8/site-packages/flask_restx/model.py", line 76, in __schema__ schema = self._schema File "/usr/local/lib/python3.8/site-packages/flask_restx/model.py", line 159, in _schema properties[name] = field.__schema__ AttributeError: 'dict' object has no attribute '__schema__'

Intenté verificar la documentación de matraz_restx para ver cualquier ejemplo de uso. Pero no pude encontrar ninguno. Por favor ayuda con respecto a lo mismo

Actualizar

Según la respuesta rmn , he intentado aplicar lo mismo. Pero aquí el problema es que hay una clave, es decir, en la Línea No.2 del esquema definido anteriormente -> fields.String: { . Creo que esto está causando el problema. He intentado usarlo de la siguiente manera:

 dr_status_fields = app_api.model('Backup and restore related fields', { "backup_status": fields.String, "backup_folder": fields.String, }) dr_db_fields = app_api.model('DR Status', { "elasticsearch": fields.Nested(dr_status_fields), "mongodb": fields.Nested(dr_status_fields), "postgresdb": fields.Nested(dr_status_fields), "overall_backup_status": fields.String }) dr_timestamp_field = app_api.model('Timestamp', { fields.String: fields.Nested(dr_db_fields) })

Aquí dr_timestamp_field ha resultado en el mismo problema.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

usar campos.Anidado :

 backup_fields = api.model('Backup fields', { "backup_status": fields.String, "backup_folder": fields.String }) dr_status_fields = api.model('DR Status', { "elasticsearch": fields.Nested(backup_fields), "mongodb": fields.Nested(backup_fields), "postgresdb": fields.Nested(backup_fields), "overall_backup_status": fields.String })
over 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