1
我有一个观点,我正在使用GET和POST到一个不是默认数据库的数据库。django rest框架多个数据库
class DeployResourceFilterView(generics.ListAPIView):
serializer_class = ResourceSerializer
def get(self, request, format=None):
resname = self.request.GET.get('name')
queryset = Resmst.objects.db_manager('Admiral').filter(resmst_name=resname)
serializer = ResourceSerializer(queryset)
if queryset:
return Response(serializer.data)
else:
raise Http404
def post(self, request, format=None):
serializer = ResourceSerializer(data=request.DATA, many=True)
if serializer.is_valid():
serializer.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
GET工作得很好,但在POST上它不断地抱怨表不存在。我的假设是,其原因是因为它试图使用默认数据库,而不是我已经定义为我的辅助数据库的'Admiral'。如何分配POST以使用特定数据库而不是默认值?
感谢您的这一点,但它似乎仍然强制默认数据库不知道为什么。 – whoisearth 2014-09-06 23:55:39
我用Django-Database-Routers解决了这个问题。 [Django - 使用路由器](https://docs.djangoproject.com/en/1.11/topics/db/multi-db/#using-routers) – michaell 2017-06-02 09:12:22