【问题标题】:Filtering on all fields of a django model过滤 django 模型的所有字段
【发布时间】:2014-07-01 13:28:24
【问题描述】:

我使用Django Rest FrameworkDjango Filters 来限制API 调用的结果。是否可以允许对序列化程序中列出的所有模型字段进行过滤?

import django_filters
from rest_framework import generics

class ProjectFilter(django_filters.FilterSet):
    class Meta:
        model = Project
        fields = '__all__'

class ProjectList(generics.ListAPIView):
    model = Project
    serializer_class = ProjectSerializer
    filter_class = ProjectFilter

我知道fields = '__all__' 不起作用,但我想知道这里是否有可以使用的语法,或者是否有其他类型的filter_class 可以使用。

【问题讨论】:

  • 我认为 django-filters 是过滤实体,而不是字段。我可能弄错了,但我建议你查一下。

标签: python django django-models django-rest-framework


【解决方案1】:

不确定我是否完全理解这个问题,但在您看来,您可以使用filterset_fields = '__all__',这意味着您可以过滤模型中的所有字段,例如

https://www.example.com/api/projects/?attr1=x&attr2=y&attr3=z

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-23
    • 2013-06-15
    • 2021-02-10
    • 1970-01-01
    • 1970-01-01
    • 2017-03-05
    • 1970-01-01
    • 2015-03-25
    相关资源
    最近更新 更多