外键的Django Graphene查询过滤
Django Graphene query filtering for foreign key
我有一个 django 模型
class Person(models.Model):
name = models.CharField()
address = models.CharField()
class Blog(models.Model):
person = models.ForeignKey('Person', on_delete=models.CASCADE, blank=False, null=False)
text = models.TextField()
如何编写允许通过外键进行查询过滤的石墨烯架构?
class Query(graphene.ObjectType):
blog = graphene.Field(BlogType)
blogs = graphene.List(BlogType, person=graphene.???, #Foreign Key call here
text=graphene.String())
def resolve_blog(self, info, id):
return Blog.objects.get(pk=id)
def resolve_blogs(self, info, person = None, text = None, **kwargs)
if person:
filter = Q(person__icontains = person.name) #Filter for foreign key
return Blog.objects.filter(filter)
我认为您正在尝试访问特定人员的博客。如果是这样,
class Query(graphene.ObjectType):
blog = graphene.Field(BlogType)
blogs = graphene.List(BlogType, person=graphene.ID(),
text=graphene.String())
def resolve_blog(self, info, id):
return Blog.objects.get(pk=id)
def resolve_blogs(self, info, person = None, text = None, **kwargs)
if person:
return Blog.objects.filter(person__id=person)
我有一个 django 模型
class Person(models.Model):
name = models.CharField()
address = models.CharField()
class Blog(models.Model):
person = models.ForeignKey('Person', on_delete=models.CASCADE, blank=False, null=False)
text = models.TextField()
如何编写允许通过外键进行查询过滤的石墨烯架构?
class Query(graphene.ObjectType):
blog = graphene.Field(BlogType)
blogs = graphene.List(BlogType, person=graphene.???, #Foreign Key call here
text=graphene.String())
def resolve_blog(self, info, id):
return Blog.objects.get(pk=id)
def resolve_blogs(self, info, person = None, text = None, **kwargs)
if person:
filter = Q(person__icontains = person.name) #Filter for foreign key
return Blog.objects.filter(filter)
我认为您正在尝试访问特定人员的博客。如果是这样,
class Query(graphene.ObjectType):
blog = graphene.Field(BlogType)
blogs = graphene.List(BlogType, person=graphene.ID(),
text=graphene.String())
def resolve_blog(self, info, id):
return Blog.objects.get(pk=id)
def resolve_blogs(self, info, person = None, text = None, **kwargs)
if person:
return Blog.objects.filter(person__id=person)