你好吗?:)
我的问题是关于在带有自定义对象管理器的注释字段上使用 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