I have model Category, which can have parent Category(self reference), so I can make hierarchy of categories.
from project import db
class Category(db.Model):
__tablename__ = "categories"
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
name = db.Column(db.String(64), nullable=False)
parent_category_id = db.Column(db.Integer, db.ForeignKey('categories.id'), nullable=True)
child_categories = db.relationship('Category', backref=db.backref('parent', remote_side=[id]), lazy=True)
def __init__(self, name, parent_category_id=None):
self.name = name
self.parent_category_id = parent_category_id
I don't know how to write serializer. Here is my try:
from flask_restplus import fields
from project import api
category = api.model('Category', {
'id': fields.Integer(),
'name': fields.String(required=True)
})
category['parent'] = fields.Nested(category)
This throws error:
RecursionError: maximum recursion depth exceeded while calling a Python object
So how do I define it properly?