gpt4 book ai didi

django - 如何在 graphene django 中添加数据库中不存在的自定义字段

转载 作者:行者123 更新时间:2023-12-05 01:37:36 29 4
gpt4 key购买 nike

所以我的模型看起来像

class Abcd(models.Model):
name = models.CharField(max_length=30, default=False)
data = models.CharField(max_length=500, blank=True, default=False)

需要在查询时传递一个字典,它不是模型的一部分,查询是

query {
allAbcd(Name: "XYZ") {
edges {
node {
Data
}
}
}
}

如何通过查询传递这样一个自定义字段?

此自定义字段对于其他流程目的是必需的。

最佳答案

Graphene 使用 Types 来解析节点,这些节点与模型完全无关,您甚至可以定义与任何模型无关的 Graphene Type。无论如何,您正在寻找的用例非常简单。假设我们有一个模型名称 User,我假设这个 Data 需要由模型的解析器解析。

from graphene.relay import Node
from graphene import ObjectType, JSONField, String
from graphene_django import DjangoObjectType

from app.models import User

class UserType(DjangoObjectType):
class Meta:
filter_fields = {'id': ['exact']}
model = User

custom_field = JSONField()
hello_world = String()

@staticmethod
def resolve_custom_field(root, info, **kwargs):
return {'msg': 'That was easy!'} # or json.dumps perhaps? you get the idea

@staticmethod
def resolve_hello_world(root, info, **kwargs):
return 'Hello, World!'


class Query(ObjectType):
user = Node.Field(UserType)
all_users = DjangoFilterConnectionField(ProjectType)

关于django - 如何在 graphene django 中添加数据库中不存在的自定义字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60842680/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com