【问题标题】:Django relay graphql order by created dateDjango 中继 graphql 按创建日期排序
【发布时间】:2022-02-03 18:28:37
【问题描述】:

如何在 django graphene-relay 中按创建日期的顺序查询模型

class CategoryNode(DjangoObjectType):
    class Meta:
        model = Category
        filter_fields = ['name', 'ingredients', 'created_at']
        interfaces = (relay.Node, )



class Query(graphene.ObjectType):
     category = relay.Node.Field(CategoryNode)
     all_categories = DjangoFilterConnectionField(CategoryNode)

【问题讨论】:

标签: django graphql relay


【解决方案1】:

我在浏览了 Graphene-Django 文档后找到了解决方案 https://docs.graphene-python.org/projects/django/en/latest/filtering/

需要为模型创建过滤器集:

from django_filters import FilterSet, OrderingFilter

class CategoryFilter(FilterSet):
class Meta:
    model = Category
    fields = '__all__'

    order_by = OrderingFilter(
               fields=(('created_at'),))

class Query(graphene.ObjectType):
    category = relay.Node.Field(CategoryNode)
    all_categories = DjangoFilterConnectionField(CategoryNode, filterset_class=CategoryFilter)

def resolve_category(self, info, **kwargs):
    return CategoryFilter(kwargs).qs
 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-23
    • 1970-01-01
    • 1970-01-01
    • 2011-12-20
    • 1970-01-01
    • 1970-01-01
    • 2021-12-31
    • 1970-01-01
    相关资源
    最近更新 更多