检查Django Rest Framework API列表/数据库中是否存在记录

2024-09-30 10:34:57 发布

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

我想创建一个viewset/apieview,路径如下:list/<slug:entry>/,一旦我提供了entry,它将检查数据库中是否存在该条目。在

*注意:在list/上,我有一个到ViewSet的路径。我想知道是否可以用我要检查的特定字段更改id,这样我就可以查看条目是否存在,但是我希望保持id不变,所以

我试过了:

class CheckCouponAPIView(APIView):
    def get(self, request, format=None):
        try:
            Coupon.objects.get(coupon=self.kwargs.get('coupon'))
        except Coupon.DoesNotExist:
            return Response(data={'message': False})
        else:
            return Response(data={'message': True})

但是我有个错误:get() got an unexpected keyword argument 'coupon'。在

路径如下:path('check/<slug:coupon>/', CheckCouponAPIView.as_view()),

在我的情况下有什么好的做法可以应用吗?在


Tags: self路径idmessagedatagetreturnresponse
1条回答
网友
1楼 · 发布于 2024-09-30 10:34:57

试试这样的东西怎么样,

class CheckCouponAPIView(viewsets.ModelViewSet):
    # other fields
    lookup_field = 'slug'


来自官方DRF Doc

lookup_field - The model field that should be used to for performing object lookup of individual model instances. Defaults to pk

相关问题 更多 >

    热门问题