我正在使用Graphene构建一个,并且徘徊于是否有任何通用的解决方案来只从解析器中的DB请求所需的字段。
假设有一个基本用户信息的请求:
{
users {
id
name
}
}用户实体的数据库结构更加复杂和“数据密集型”。现在,人们显然会尽量避免从DB中获取所有用户信息,只需在服务器端筛选用户信息,然后只将所请求的ids和名称传递给客户端。
虽然我确信这是一个常见的问题,但在这种情况下,我想知道什么样的解决方案被认为是最优的(或者是否有可能使一个通用的解决方案不绑定到特定的数据结构,因为可能会有一些额外的数据负载和连接)。
可以通过从解析器的info参数获取所请求的字段asts来手动完成此操作。
顺便说一句,我目前也没有绑定到特定的DB或像SQLAlchemy这样的数据提供程序,因为我正试图围绕抽象用例。会很感激你在这方面的想法和经验。抽象的或者使用实际的提供者和数据库。
谢谢。
发布于 2022-02-01 10:28:04
有一个复杂的答案是SQLAlchemy特定于这里的,Limiting SQL query to defined fields/columns in Graphene-SQLAlchemy
就像在一些评论中指出的,针对特定的ORM已经非常复杂,所以不确定是否有可能以抽象的方式回答它。
https://stackoverflow.com/questions/55336697
复制相似问题