2

你好吗?:)

我的问题是关于在带有自定义对象管理器的注释字段上使用 django RF ViewSets、RF Filters。

所以我有这门课

class SomeClass(models.Model):

    this_does_not_matter = models.CharField(max_length=50)
    objects = SomeClassManager()

和这个形状的一些经理

class SomeClassManager(models.Manager):

    def full_objs(self):
        qs = self.all()
        qs = qs.annotate(
            some_annotated_field=Count('this_dont_matter_either')
        )
        return qs

最后,这个 viewSet

from rest_framework.viewsets import ModelViewSet
from rest_framework.filters import SearchFilter
...

class SomeClassViewSet(ModelViewSet):

    queryset = SomeClass.objects.full_objs()
    serializer_class = SomeClassSerializer
    filter_backends = (SearchFilter,)
    search_fields = ('some_annotated_field',)

我得到

SomeClass 没有名为“some_annotated_field”的字段

即使我在向 api 请求它时确实得到了该字段。

问题是:我如何搜索some_annotated_field

4

0 回答 0