Python 3.x 如何更新Alchemy棉花糖中的嵌套对象

Python 3.x 如何更新Alchemy棉花糖中的嵌套对象,python-3.x,flask,flask-sqlalchemy,flask-restful,flask-marshmallow,Python 3.x,Flask,Flask Sqlalchemy,Flask Restful,Flask Marshmallow,你能帮我更新Alchemy棉花糖中的嵌套对象吗。这是模型 父模型 class ParentModel(db.Model): __tablename__ = "parent" id = db.Column(db.Integer, primary_key=True) parent_name = db.Column(db.String(100), nullable=False) childrens = db.relationship(&q

你能帮我更新Alchemy棉花糖中的嵌套对象吗。这是模型

父模型

class ParentModel(db.Model):
    __tablename__ = "parent"

    id = db.Column(db.Integer, primary_key=True)
    parent_name = db.Column(db.String(100), nullable=False)
    
    childrens = db.relationship("ChildrensModel",  cascade="all,delete", backref='parent')

    @classmethod
    def find_by_id(cls, _id: int) -> "ParentModel":
        return cls.query.filter_by(id=_id).first()

    @classmethod
    def find_by_name(cls, name: int) -> "ParentModel":
        return cls.query.filter_by(parent_name=name).first()

    @classmethod
    def find_all(cls) -> List["ParentModel"]:
        return cls.query.all()

    def save_to_db(self) -> None:
        db.session.add(self)
        db.session.commit()

    def delete_from_db(self) -> None:
        db.session.delete(self)
        db.session.commit()
class ChildrenModel(db.Model):
    __tablename__ = "children"

    id = db.Column(db.Integer, primary_key=True)
    children_name = db.Column(db.String(100), nullable=False)
    parent_id = db.Column(db.Integer,db.ForeignKey("parent.id") primary_key=True)

    @classmethod
    def find_by_id(cls, _id: int) -> "ChildrenModel":
        return cls.query.filter_by(id=_id).first()

    @classmethod
    def find_by_name(cls, name: int) -> "ChildrenModel":
        return cls.query.filter_by(children_name=name).first()

    @classmethod
    def find_all(cls) -> List["ChildrenModel"]:
        return cls.query.all()

    def save_to_db(self) -> None:
        db.session.add(self)
        db.session.commit()

    def delete_from_db(self) -> None:
        db.session.delete(self)
        db.session.commit()
儿童模型

class ParentModel(db.Model):
    __tablename__ = "parent"

    id = db.Column(db.Integer, primary_key=True)
    parent_name = db.Column(db.String(100), nullable=False)
    
    childrens = db.relationship("ChildrensModel",  cascade="all,delete", backref='parent')

    @classmethod
    def find_by_id(cls, _id: int) -> "ParentModel":
        return cls.query.filter_by(id=_id).first()

    @classmethod
    def find_by_name(cls, name: int) -> "ParentModel":
        return cls.query.filter_by(parent_name=name).first()

    @classmethod
    def find_all(cls) -> List["ParentModel"]:
        return cls.query.all()

    def save_to_db(self) -> None:
        db.session.add(self)
        db.session.commit()

    def delete_from_db(self) -> None:
        db.session.delete(self)
        db.session.commit()
class ChildrenModel(db.Model):
    __tablename__ = "children"

    id = db.Column(db.Integer, primary_key=True)
    children_name = db.Column(db.String(100), nullable=False)
    parent_id = db.Column(db.Integer,db.ForeignKey("parent.id") primary_key=True)

    @classmethod
    def find_by_id(cls, _id: int) -> "ChildrenModel":
        return cls.query.filter_by(id=_id).first()

    @classmethod
    def find_by_name(cls, name: int) -> "ChildrenModel":
        return cls.query.filter_by(children_name=name).first()

    @classmethod
    def find_all(cls) -> List["ChildrenModel"]:
        return cls.query.all()

    def save_to_db(self) -> None:
        db.session.add(self)
        db.session.commit()

    def delete_from_db(self) -> None:
        db.session.delete(self)
        db.session.commit()
子模式

class ChildrenSchema(ma.ModelSchema):


    class Meta:
        model = ChildrenModel
        include_fk = True
class ParentSchema(ma.ModelSchema):

    children= fields.List(fields.Nested(ChildrenSchema(dump_only=("parent_id",))),required=True)

    class Meta:
        model = ParentModel
        include_fk = True
父模式

class ChildrenSchema(ma.ModelSchema):


    class Meta:
        model = ChildrenModel
        include_fk = True
class ParentSchema(ma.ModelSchema):

    children= fields.List(fields.Nested(ChildrenSchema(dump_only=("parent_id",))),required=True)

    class Meta:
        model = ParentModel
        include_fk = True
以下是所需的JSON格式。您能告诉我如何用以下格式更新现有的嵌套对象吗

{
  "parent_name":"parent1",
  "children":[{"children_name":"children_1"},{"children_name":"children_2"}]
}
伙计们,谢谢你们抽出时间