Я работаю над фреймворком Django Rest. Я создал несколько API и храню данные в SQL Lite.
Теперь я хочу сохранить данные в CouchDB из остальных вызовов API, в основном из приложения crud.
Я не понимаю, как подключиться к кушетке через Django rest framework. Я застрял здесь, не понимая, как сделать crud на диване, используя Django rest api.
Ниже приведен один из API, написанный на django для добавления accconts. Я хочу сохранить эти данные в CouchDB.
models.py
class BankAccount(models.Model):
SAVINGS = 'saving'
CURRENT = 'current'
TYPE = (
(SAVINGS,'Saving'),
(CURRENT,'Current')
)
type = models.CharField(max_length=20, choices=TYPE, default=SAVINGS)
bank_name = models.CharField(max_length=200)
account_number = models.IntegerField()
balance = models.DecimalField(max_digits=10, decimal_places=2)
def __str__(self):
"""returns the model as string."""
return self.bank_name
def __str__(self):
"""returns the model as string."""
return self.type
serializers.py
class BankAccountSerializer(serializers.ModelSerializer):
class Meta:
model = BankAccount
fields = '__all__'
views.py
class BankAccountView(APIView):
def get_object(self, pk):
try:
return BankAccount.objects.get(pk=pk)
except BankAccount.DoesNotExist:
raise Http404
def get(self, request, format=None):
accounts = BankAccount.objects.all()
serializer = BankAccountSerializer(accounts, many=True)
return Response(serializer.data)
def post(self, request, format=None):
serializer = BankAccountSerializer(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)
def put(self, request, format=None):
data = json.loads(request.body)
pk = data['id']
action = data['action']
if action == 'delete':
return self.deleteItem(pk)
account = self.get_object(pk)
serializer = BankAccountSerializer(account, data=request.data)
if serializer.is_valid():
serializer.save()
return Response(serializer.data)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def deleteItem(self, pk):
account = self.get_object(pk)
account.delete()
return Response(status=status.HTTP_204_NO_CONTENT)
Пожалуйста, помогите мне, я застрял.