# 文章数据(单个表)
class ArticleDataViewSet(ModelViewSet):
authentication_classes = []
pagination_class = MyPag
filter_backends = (DjangoFilterBackend, OrderingFilter, )
filter_fields = ['article_data_en_id']
# filterset_class = ArticleDataFilter
ordering_fields = ['article_data_en_id', 'rele_time', 'update_time']
lookup_field = 'article_data_en_id'
def get_queryset(self):
if self.request.GET.get('language') == 'EN':
return ArticleDataEN.objects.all()
elif self.request.GET.get('language') == 'zh-CN':
return ArticleDataZHCN.objects.all()
def get_serializer_class(self):
if self.request.GET.get('language') == 'EN':
return ArticleDataENSerializer
elif self.request.GET.get('language') == 'zh-CN':
return ArticleDataZHCNSerializer
Django ModelViewSet 根据前端接受的信息查询不同的表,和使用不同的序列化(get_queryset()、get_serializer_class())
多语言API视图:数据过滤与定制化序列化
最新推荐文章于 2025-09-09 21:55:29 发布
本文介绍了一个ModelViewSet类,它根据请求中的'language'参数动态切换查询和序列化,支持EN和zh-CN语言的数据过滤和定制化。焦点在于数据查询的灵活性和跨语言的响应处理。

882

被折叠的 条评论
为什么被折叠?



