Qwizi 4 Grudnia 2018 4 Grudnia 2018 Witam, otóż już nie mogę dojść w czym jest problem. Mam taki kod: serializers.py from rest_framework import serializers from .models import Custom_ChatColors class JBCCCSerializer(serializers.ModelSerializer): class Meta: model = Custom_ChatColors fields = '__all__' def create(self, validated_data): return Custom_ChatColors.objects.db_manager('jb_db').create(**validated_data) views.py from rest_framework.views import APIView from rest_framework.response import Response from rest_framework import status from django.http import Http404 from jailbreak.models import Custom_ChatColors from .serializers import JBCCCSerializer class JBCCCList(APIView): def get(self, request, format=None): ccc = Custom_ChatColors.objects.db_manager('jb_db').all() serializer = JBCCCSerializer(ccc, many=True) return Response(serializer.data) def post(self, request, format=None): serializer = JBCCCSerializer(data=request.data) 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) i gdy próbuje dodać nowy wpis to wywala błąd, że nie ma tabeli w domyślnej bazie danych a ja chciałbym, żeby pobierało ja z bazy o nazwe 'jb_db'. router.py class JailBreakRouter: def db_for_read(self, model, **hints): if model._meta.app_label == 'jailbreak': return 'jb_db' return None def db_for_write(self, model, **hints): if model._meta.app_label == 'jailbreak': return 'jb_db' return None def allow_relation(self, obj1, obj2, **hints): if obj._meta.app_label == 'jailbreak' or \ obj2._meta.app_label == 'jailbreak': return True return None def allow_migrate(self, db, app_label, model_name=None, **hints): if app_label == 'jailbreak': return db == 'jb_db' return None I settings.py DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'portal', 'USER': 'root', 'PASSWORD': '', 'HOST': 'localhost' }, 'jb_db': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'jailbreak', 'USER': 'root', 'PASSWORD': '', 'HOST': 'localhost' } } DATABASES_ROUTERS = ['jailbreak.router.JailBreakRouter',] Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Kontynuuj dyskusję
Dołącz do Pecetowicza, aby kontynuować dyskusję w tym wątku.