'invalid literal for int()(以10为基数):'使用Django REST检索记录时出错

2024-04-19 01:15:05 发布

您现在位置:Python中文网/ 问答频道 /正文

基本上,我正在尝试检索有关汽车特定VIN的信息,我使用URL模式:ValueError at /api/v1/purchases/1D7RV1CT0AS168723/,其中VIN作为主键。以前还不错,不知道有什么变化

你知道吗视图.py你知道吗

 -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.shortcuts import render
from rest_framework import viewsets
from django.shortcuts import get_object_or_404, get_list_or_404
from .models import GetPurchases, CarFax
from .serializers import PurchasesSerializer
from .serializers import CarFaxSerializer
from rest_framework.response import Response

# Create your views here.

class getPurchases(viewsets.ModelViewSet):
    ''' The actions provided by the ModelViewSet class are .list(), .retrieve(),
      .create(), .update(), .partial_update(), and .destroy(). '''

    queryset = GetPurchases.objects.all()
    serializer_class = PurchasesSerializer

    def list(self, request):
        # accessed at url: ^api/v1/purchases/$
        queryset = GetPurchases.objects.all()
        serializer = PurchasesSerializer(queryset, many=True)

        return Response(serializer.data)

    def retrieve(self, request, pk=None):
        # accessed at url: ^api/v1/purchases/{pk}/$

        queryset = GetPurchases.objects.all()
        # https://docs.djangoproject.com/en/2.1/topics/http/shortcuts/#get-object-or-404
        record = get_object_or_404(queryset, vin__exact=pk)
        serializer = PurchasesSerializer(record)

        return Response(serializer.data)

Tags: orfromimportapigetobjectatlist