Мой узел выглядит как -
class CustomNode(graphene.relay.Node):
"""
For fetching object id instead of Node id
"""
class Meta:
name = 'Node'
@staticmethod
def to_global_id(type, id):
return id
class ReportFileNode(DjangoObjectType):
database_id = graphene.Int()
class Meta:
model = ReportFile
interfaces = (CustomNode,)
filter_fields: List[str] = ['id']
convert_choices_to_enum = False
И моя схема запроса graphql имеет вид -
class Query(graphene.ObjectType):
all_report_files = DjangoFilterConnectionField(ReportFileNode)
Но когда я запрашиваю так:
query {
allReportFiles(id: "367") {
edges {
node {
id
}
}
}
}
Мне возвращают все записи, а не только те, которые я запрашивал.
Кроме того, у меня есть еще одно требование, чтобы я мог вводить список идентификаторов, и только эти записи должны быть выбраны. Когда я не использую пользовательский узел, тогда этот запрос работает -
query {
allReportFiles(id: ["UmVwb3J0RmlsZU5vZGU6MzY1", "UmVwb3J0RmlsZU5vZGU6MzY3"]) {
edges {
node {
id
}
}
}
}
Но мне нужно, чтобы глобальные идентификаторы отображались и использовались.