在django-graphene中按对象字段过滤

时间:2017-08-02 08:13:13

标签: python django filter graphql graphene-python

我正在使用django-graphene撰写网络应用程序 我尝试按照我的模型字段进行过滤。

型号:

class Tire(models.Model):
    width = models.IntegerField()

class Spec(models.Model):
    manufacturer = models.TextField()
    tire = models.ForeignKey(Tire)

类型:

class TireType(DjangoObjectType):
    class Meta:
        model = data.models.Tire
        filter_fields = {
            'width': integer_filters
        }

class SpecType(DjangoObjectType):
    class Meta:
        model = data.models.Spec
        filter_fields = {
            'manufacturer': string_filters
            'tire__width': integer_filters
        }

从这些模型和类型中,我可以按字段过滤(使用算术运算gtlt等...)。
我想过滤一个物体(石墨烯场可能?),所以代替:

{
  allTires(width_gt: 5
           width_lt: 10) { ... }
}

我想执行此操作:

{
  allTires(input: { width_gt: 5
                    width_lt: 10
                  }) { ... }
}

最后,我想实现外键的嵌套过滤器,例如:

{
  allSpecs(manufacturer: "toyota"
           tireFilter: {
             width_gt: 5
             width_lt: 10
           })} { ... }
}

我该怎么做?

0 个答案:

没有答案