python - 你如何使用 Django-filter 的 '__in' 查找?

标签 python django

我将 Django REST 框架与 django-filter 一起使用包,但我的问题主要是关于 django-filter。我不明白如何使用带有“__in”查找的过滤器。

例如我有以下模型:

class Book(models.Model):
   name = models.CharField(max_length=100)

class BookView(viewsets.ReadOnlyModelViewSet):
   serializer_class = BookSerializer()
   model = Book
   filter_fields = ('id', 'name')

而且我不能使用像 /v1/books/?id__in=1,2,3 这样的 URL 来查找 ID 为 1、2 或 3 的书籍。

如何使用 Django-filter 的“__in”查找?

最佳答案

django_filter 现在有一个简单的解决方案:

class BookView(viewsets.ReadOnlyModelViewSet):
   serializer_class = BookSerializer()
   model = Book
   filter_fields = {
      'id': ['exact', 'in'],
      'name': ['exact']
   }

然后您可以完全按照您的需要在查询字符串中使用它:?id__in=1,2,3

关于python - 你如何使用 Django-filter 的 '__in' 查找?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18016543/

相关文章:

python - 获取4天内创建的每组记录中的 'top'记录

python - Django : Migration of polymorphic models back to a single base class

python - 存储有关失败身份验证的特殊数据

python - 如何按数字拆分 pdf 文本

python smtplib登录报错smtplib.SMTPException : STARTTLS extension not supported by server

python - 需要用python预处理iis日志

python - 以不寻常的方式对 Pandas 数据框进行分组

javascript - 从 django 调用 javascript 函数

django - 使用--django allauth 自定义登录过程

django - 尝试在子域上提供 Django 应用程序时,CSRF token 失败