【问题标题】:DjangoFilterConnectionField query for all recordsDjangoFilterConnectionField 查询所有记录
【发布时间】:2021-06-05 03:46:00
【问题描述】:

我将 DjangoFilterConnectionField 与 django-graphene 和 django-filter 一起使用。我想知道是否可以通过查询获取所有记录?

考虑以下代码:

class Query(graphene.AbstractType):
    txt = graphene.Field(LocalizedTxtType)
    all_txts = DjangoFilterConnectionField(LocalizedLocalizedTxtType)

如何获取没有过滤器的所有记录(即 allTxts)? 我需要自己添加一个 resolve_all 吗,还是 DjangoFilterConnectionField 提供了一种查询所有记录的方法?

【问题讨论】:

    标签: django graphql django-filter graphene-python graphene-django


    【解决方案1】:

    您是否希望按如下方式获取模型中的所有字段?

    from graphene_django import DjangoObjectType
    from model.path import Model
    
    class ModelType(DjangoObjectType):
        class Meta:
            model = Model
            fields = "__all__"
    
    class Query(graphene.ObjectType):
        models = graphene.List(MapType)
    
        def resolve_models(self, info):
            return Model.objects.all()
    

    【讨论】:

      【解决方案2】:

      How do I change relay connection limit in graphene django 的副本

      默认情况下,DjangoFilterConnectionField "max_limit" 设置为 100。 如果设置为 None,它将获取所有记录:

      all_txts = DjangoFilterConnectionField(LocalizedLocalizedTxtType, max_limit=None)
      

      【讨论】:

        猜你喜欢
        • 2018-04-27
        • 2013-02-18
        • 2015-02-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-23
        • 1970-01-01
        • 2019-11-04
        相关资源
        最近更新 更多