【发布时间】:2019-04-04 08:23:47
【问题描述】:
目前我的看法如下:
from rest_framework.permissions import AllowAny
from dynamic_rest.viewsets import DynamicModelViewSet
from django_filters.rest_framework import DjangoFilterBackend
from .models import Purchase
from .serializers import PurchaseSerializer
class PurchasesViewSet(DynamicModelViewSet):
queryset = Purchase.objects.all()
serializer_class = PurchaseSerializer
permission_classes = (AllowAny,)
filter_backends = (DjangoFilterBackend,)
filter_fields = ('name', 'color')
这让我可以准确地过滤name 和color。
我的数据有一个date 字段(DateField 类型)。我想按“季度”创建一个自定义过滤器,以便这种请求:
/purchases/?quarter=2018Q1
提供指定季度中带有date 字段的对象列表。请注意,quarter 不是模型字段。
创建这样一个自定义过滤器的方法是什么?
【问题讨论】:
-
一种方法是创建一个代理模型,其字段包含来自
DateField的季度信息,然后使用该字段进行过滤。
标签: django django-rest-framework django-filter