Flask RestPlus inherit model doesn't work as expected Flask RestPlus inherit model doesn't work as expected flask flask

Flask RestPlus inherit model doesn't work as expected


NS = Namespace('sample')child_model = NS.model('child', {    'childid': fields.String(required=True, readOnly=True),    'childname': fields.String(required=True),    'data': fields.String(required=True),    'complexdata': fields.Raw(required=False)})parent_model = NS.model('parent', {    'id': fields.String(readOnly=True),    'name': fields.String(required=True),    'childdata': fields.List(        fields.Nested(child_model, required=True)        )})

this is what works for me. It appears that Flask Restplus github is dead, no answer from maintainers. This might help someone.


This how I declared the nested fields in a serializer.py file

from flask_restplus import fieldsfrom api.restplus import apichild2 = api.model('child2', {    'child2name': fields.Url(description='child2 name'),})child1= api.model('child1', {    'child2': fields.Nested(child2)})parent = {    'name': fields.String(description='name'),     'location': fields.String(description='location details'),}parent ["child1"] = fields.Nested(child1)resource_resp = api.model('Response details', parent )

Usage in view.py, I am marshaling/generating the json with @api.marshal_with(resource_resp)

from flask import request, jsonifyfrom flask_restplus import Resourcefrom serializers import *ns = api.namespace('apiName', description='API Description')@ns.route('/route/<some_id>')class ResourceClient(Resource):        @ns.response(401, "Unauthorized")    @ns.response(500, "Internal Server Error")    @api.doc(params={'some_id': 'An ID'})    @api.marshal_with(resource_resp )    def get(self, some_id):        """        Do GET        """        # Logic        return {"status" : "success"}