Thank you for bringing this up! I hope popular web frameworks start adopting dataclasses for representing their models and use type safe method chaining APIs to interface with business logic.
On Fri, Apr 23, 2021 at 10:18 AM Tin Tvrtković email@example.com wrote:
from dataclasses import fields user_projection: tuple[str] = await fetch_projection(User, id=1, fields(User))
In fquery , this would be spelled as:
My request is to consider that some of the implementations may not be presenting a flat result set. For example this query:
resp = ( UserQuery() .edge("friends") .edge("friends") .project(["name", ":id"]) .take(3) .to_json() .send() )
Without the "to_json()" it produces a graph of similarly nested python objects.
Type checkers that can understand these queries and provide type safety to consumers of the result set would be a great reason for web frameworks to adopt this vs the status quo where the internals of a relational database are exposed via a python API.