nesting schema within itself - sv-tools/marshmallow-objects GitHub Wiki

To use a self class as a nested object use a text name of a class:

class Person(marshmallow.Model):
    name = marshmallow.fields.String()
    friend = marshmallow.NestedModel("Person")

Person.load({"name": "John Doe", "friend": {"name": "Jane Doe"}})