django - ModelViewSet 多个数据库 put get post serializer.is_valid
问题描述
我使用多个数据库。Branch.objects.using (db_name) .update (**validated_data) 也以这种方式更新,但我必须执行“serializer.is_valid(raise_exception=True)”。它不断地从默认数据库返回有效错误。如何安装 ModelViewSet put get 并发布“using(db)”。你能帮助我吗?我很抱歉我的英语不好。
class BranchViewSet(viewsets.ModelViewSet):
queryset = Branch.objects.all()
serializer_class = BranchSerializer
def get_queryset(self):
company_db = self.request.GET.get('company-db', False)
db_name = self.request.GET.get('db-name', False)
if db_name and company_db :
queryset = Branch.objects.using(db_name).filter(company_db=company_db)
else:
queryset = Branch.objects.none()
return queryset
def update(self, request, *args, **kwargs):
request.data._mutable = True
instance = self.get_object()
serializer = self.get_serializer(instance, data=request.data)
serializer.is_valid(raise_exception=True) # is_valid().using("self.request.GET.get('db-name')") < does it check from the second database here?
self.perform_update(serializer)
return Response(serializer.data)
解决方案
推荐阅读
- android - 如何在switch语句中分配变量?
- node.js - 使用 prismjs 生成静态 html - 如何启用行号?
- laravel - 如果所有数据彼此不相关,如何在单页中调用多表数据
- npm - 未知选项:.presents,Entrypoint undefined = index.html,导入在 index.js 文件中不起作用
- python - 我从 Pyinstaller 转换的 .exe 文件无法运行
- java - 如何通过前端网页从远程机器访问托管服务器文件目录
- typescript - 如何在 ngx-admin 模板中使组件全屏显示?
- javascript - 计算仪表值以绘制仪表 svg 路径的公式
- react-native - 在 react native 天才聊天中,哪些道具用于在工具栏中添加图像和相机等额外功能?我如何实现它?
- haskell - 将自身作为参数的函数的 Hindley-Milner 类型