我将 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/