【发布时间】:2018-01-29 02:04:15
【问题描述】:
我已经成功使用 Graphene-Django 成功构建了几个 GraphQL 调用。在所有这些情况下,我全部或部分填充了 Django 模型,然后返回了我填充的记录。
现在我想返回一些我不想存储在 Django 模型中的数据。这可能与石墨烯有关吗?
罗伯特
【问题讨论】:
-
既然数据不会保存在数据库中,它们应该保存在哪里?由外部资源获取?一个永久的字符串还是什么?请提供有关您的用例的更多详细信息。
-
在一个用例中,数据将来自外部服务器。在另一种情况下,结果将严格地是逻辑的结果,而不是从 Django DB 表中查找的结果。
-
一位同事帮我找到了解决方案。我将使其通用,以便每个人都可以理解该方法。假设您想要一个名为“best_cities”的 GraphQL 查询。在您的类 Query 中,您可以创建以下内容: best_cities = graphene.String(state_id=graphene.String()) 在这里您传入一个状态 ID,然后将使用逻辑生成带有响应的 JSON 字符串。然后在下面你只需要添加这个: def resolve_best_cities(self, args, context, info): 在这个函数中你添加自定义逻辑。根本不使用 Django 模型。
-
@Robert_LY 如果我想添加 graphql 突变而不是查询而不映射到 Django 模型。这是否同样有效?
标签: python django django-models graphene-python