gpt4 book ai didi

django - 使用 DjangoFilterConnectionField 时有没有办法删除边和节点?

转载 作者:行者123 更新时间:2023-12-05 07:12:53 24 4
gpt4 key购买 nike

我开始在 django 中使用 Graphite 烯,现在我不需要边缘和节点的所有开销,我知道这是为了分页,但现在我只需要我模型的字段。需要明确的是,我仍然希望能够使用过滤器集,我只是不知道如何删除边缘和节点开销。我试过使用 graphene.List 但我无法向其添加过滤器集。所以不要这样做

{users(nameIcontains:"a")
{
edges{
node{
name
}
}
}

我想做这个

{users(nameIcontains:"a")
{
name
}

最佳答案

from graphene import ObjectType
from graphene_django import DjangoObjectType

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


class Query(ObjectType):
all_users = List(UserType)

@staticmethod
def resolve_all_users(root, info, **kwargs):
users = User.objects.all()
# filtering like user.objects.filter ....

return all_users

如果你想根据某些条件进行过滤,比如 department_id 和可选的 social_club_id:

class Query(ObjectType):
all_users = List(
UserType,
department_id=ID(required=True),
social_club_id=ID(), # optional
)

@staticmethod
def resolve_all_users(root, info, department_id, **kwargs):
social_club_id = kwargs.pop('social_club_id', None)

users = User.objects.all()
# filtering like user.objects.filter ....

return all_users.objects.filter(department_id=department_id)

关于django - 使用 DjangoFilterConnectionField 时有没有办法删除边和节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60295566/

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