У меня есть представление, которое я использую для GET и POST для базы данных, которая НЕ является базой по умолчанию.django rest framework несколько баз данных
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)
ГЭТ отлично работает, но на POST он постоянно терпит неудачу жалуется, что таблица не существует. Мое предположение заключается в том, что причиной этого является то, что он пытается использовать базу данных по умолчанию, а не «адмирал», которую я определил как свою вторичную базу данных. Как назначить POST для использования конкретной базы данных, а не по умолчанию?
Благодарим за это, но, похоже, он по-прежнему вынуждает башку по умолчанию не знать почему. – whoisearth
Я решил проблему с Django-Database-Routers. [Django - Использование маршрутизаторов] (https://docs.djangoproject.com/en/1.11/topics/db/multi-db/#using-routers) – michaell