from pydantic import BaseModel
from automapper import mapper
class SkillA(BaseModel): # Make SkillA a Pydantic model
name: str
level: int
class SkillB(BaseModel): # Make SkillB a Pydantic model
name: str
class Person(BaseModel):
name: str
age: int
skills: SkillA
class PersonB(BaseModel):
name: str
skills: SkillB
if __name__ == "__main__":
p = Person(name="test", age=1, skills=SkillA(name="run", level=2))
print(p)
#not working
try:
p2 = mapper.to(PersonB).map(p)
print(f"P2 with deep mapping{p2}")
except Exception as e:
print("Error in mapping")
pass
#working
mapper.add(SkillA, SkillB)
p2 = mapper.to(PersonB).map(p)
print(p2)name='test' age=1 skills=SkillA(name='run', level=2)
Error in mapping
name='test' skills=SkillB(name='run')