如何解决Django-Graphene - 与同类型对象的关系
我已经定义了一个数据库模型,其中一个任务对象与同一个任务对象有关系。
class Task(models.Model):
id = models.AutoField(primary_key=True)
status_id = models.ForeignKey(Status,null=True,on_delete=models.SET_NULL)
parent_id = models.ForeignKey('self',on_delete=models.SET_NULL)
name = models.CharField(max_length=128)
description = models.CharField(max_length=256)
entry = models.IntegerField()
在 Graphql API 中,我可以为自己获取任务对象。我想通过调用一次对对象类型任务的调用来调用 graphql 查询来实现检索相同类型的整个对象树的可能性。可能吗?
class TaskType(graphene.ObjectType):
id = graphene.NonNull(graphene.Int)
parent_id = graphene.Field(graphene.Int)
name = graphene.NonNull(graphene.String)
description = graphene.NonNull(graphene.String)
entry = graphene.NonNull(graphene.Int)
parent = graphene.List(lambda: TaskType)
@staticmethod
def resolve_parent(task,_info):
return Task.objects.filter(parent_id=task.id)
我知道我可以以 JSONString 类型返回这样的树,但我正在寻找不同的解决方案。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。