如何在DRF中使用过滤器

Posted lz666lz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在DRF中使用过滤器相关的知识,希望对你有一定的参考价值。

一、准备工作:首先定义好model以及视图类相关信息

class Book(models.Model):
name = models.CharField(max_length=32)
pub_num = models.IntegerField(default=10)
salary_num = models.IntegerField(default=100)

def __str__(self):
return self.name
class CheckView(viewsets.GenericViewSet, mixins.ListModelMixin):
queryset = models.Book.objects.all()
serializer_class = BookSerializer

def get(self, request):
res = self.serializer_class(self.queryset, many=True)
return Response(res.data)

class BookSerializer(serializers.ModelSerializer):
authors_info = serializers.SerializerMethodField(read_only=True)

def get_authors_info(self, obj):
return [{‘id‘: author.id, ‘name‘: author.name} for author in obj.authors.all()]

class Meta:
fields = ‘__all__‘
model = models.Book







以上是关于如何在DRF中使用过滤器的主要内容,如果未能解决你的问题,请参考以下文章

DRF - 如何使用条件更改 serializer.PrimaryKeyRelatedField 的过滤器查找键?

是否过滤 Django Rest Framework (DRF) 中的代码示例优化问题

drf 过滤器组件与自定义过滤器

drf 使用filter_backends 搜索过滤

带有 DRF 的 Django-filter - 如何在使用相同查找应用多个值时执行“和”?

drf之过滤器详解