FastAPI Voyager's new feature: application levle ER Diagram (fastapi-voyager.top) 2 points by tank-34 5mo ago ↗ HN
[–] tank-34 5mo ago ↗ declare the relationship:class Story(BaseModel, BaseEntity): __pydantic_resolve_relationships__ = [ Relationship( field='id', target_kls=list[task_schema.Task], loader=task_loader.story_to_task_loader), Relationship( field='owner_id', target_kls=user_schema.User, loader=user_loader.user_batch_loader) ] id: int name: str owner_id: int sprint_id: int model_config = ConfigDict(from_attributes=True) and consume itclass Story1(DefineSubset): __subset__ = (BaseStory, ('id', 'name', 'owner_id')) tasks: Annotated[list[Task1], LoadBy('id')] = [] assignee: Annotated[Optional[BaseUser], LoadBy('owner_id')] = None related_users: list[BaseUser] = [] def post_related_users(self, collector=Collector(alias='related_users')): return collector.values()
2 comments
[ 0.26 ms ] story [ 15.6 ms ] threadclass Story(BaseModel, BaseEntity):
and consume itclass Story1(DefineSubset):