django-rest-framework - 使用 Django Rest 框架过滤每个继承视图集的视图集
问题描述
我有这样的视图:
class CountryBasedViewset(viewsets.ModelViewSet):
def get_queryset(self):
[element that needs to be filtered by country].filter(country=self.request.data["country"])
有什么方法可以使该元素被过滤为通用的,以便它适用于继承视图集的任何东西?
解决方案
您可以在子视图集中指定具体的查询集。但当然,查询集模型需要有类似的 API。
class CountryBasedViewset(viewsets.ModelViewSet):
queryset = None
def get_queryset(self):
self.filter(country=self.request.data["country"])
class ViewsetA(CountryBasedViewset):
queryset = ModelA.objects.all()
class ViewsetB(CountryBasedViewset):
queryset = ModelB.objects.all()
推荐阅读
- c# - 如何使用后面的“c#”代码调用网页网址
- c# - 用于比较数据库模式和数据的应用程序
- bash - 如何区分shell脚本中的两个文件
- swift - Swift - 为什么即使 where 子句专门化了关联类型,协议仍被视为泛型?
- javascript - 错误:类型时间戳的输入语法无效
- visual-studio-2017 - 安装 Microsoft SQL Server Management Studio 2017 并构建项目后,项目无法正常工作
- paypal - 添加折扣产品时的 PayPal 问题
- c# - Selenium 驱动程序在保存文件时出现问题
- debugging - Kafka Connect 分离日志记录
- python - 如何从 PySpark 保存 Elasticsearch 中的 geo_point?