Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

650
Views
¿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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!