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