Django Rest框架月份和年份作为NumberFi

2024-10-05 10:38:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在我的django rest frameworkapi中过滤一个模型queryset,在使用django时遇到了这个错误_过滤器.NumberFilter(**). 在

如果我编写自己的过滤器,我会过滤掉所有的结果,但是使用NumberFilter我不能使它工作。在

所以,我的代码是: 型号

class Entry(EntityBase):
    title = models.CharField(max_length=50)
    description = models.TextField(max_length=200)
    start = models.DateTimeField()
    end = models.DateTimeField(null=True)
    all_day = models.BooleanField()
    involveds = models.ManyToManyField(Person, null=True)
    by = models.ForeignKey(User)

过滤器集

^{pr2}$

视图集

class EntryViewset(viewsets.ModelViewSet):
queryset = Entry.objects.all()
serializer_class = EntrySerializer
filter_backends = (filters.DjangoFilterBackend,)
filter_class = EntryFilter

错误

Unsupported lookup 'month' for DateTimeField or join on the field not permitted.

Tags: djangotrue过滤器models错误allfilternull
1条回答
网友
1楼 · 发布于 2024-10-05 10:38:32

只需按以下方式更新过滤器:

class EntryFilter(filters.FilterSet):
    m = django_filters.NumberFilter(name='start', lookup_expr='month')
    y = django_filters.NumberFilter(name='start', lookup_expr='year')

您也可以使用。。等等。在

希望有帮助。在

相关问题 更多 >

    热门问题