python - 检查 Django Rest Framework API LIST/DATABASE 中是否存在记录

标签 python django django-rest-framework

我想创建一个 View 集/apiview,其路径如下: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()),

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

最佳答案

尝试这样的事情怎么样?

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

关于python - 检查 Django Rest Framework API LIST/DATABASE 中是否存在记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49727182/

相关文章:

Django:如何清理表单字段并避免代码重复

python - 将整数(最多 2^48)安全加密为最短的 URL 安全字符串

django - Ionic Google 社交身份验证到 Django Rest Framework 后端

python - django rest 框架返回文件

Django Rest 创建后删除密码

python - 如何检查位掩码是否包含位?

python - python 3作业出错

python - 如何检查查询集是否为空?

python - Flask无法获取远程客户端的真实IP

python - 当表单有标点符号时引发错误 django