【发布时间】:2020-08-24 18:13:42
【问题描述】:
我是 Django 新手,我想从 URL 接收一个值,然后在过滤器中使用它,但是我遇到了这个问题。
其中 value 是模型的一个字段,在 view.py 中
class ModelNumber(generics.ListAPIView):
permission_classes = [
IsAuthenticated,
]
serializer_class = ModelSerializer
def get_queryset(self):
queryset = Model.objects.all()
value = self.request.query_params.get('value')
return Model.objects.filter(value = value)
在 urls.py
path('model_number/(?P<receipt_ballot>\w+)$', views.ModelNumber.as_view()),
和 Model.py
class Model(models.Model):
value = models.CharField("Number Value", max_length=12, null=True)
在网址中
http://192.168.0.3:8080/model_number/001-000002/
错误:
找不到页面 (404)
当前路径 /model_number/001-000002/ 与其中任何一个都不匹配。
【问题讨论】:
-
您好托尼,欢迎来到 SO!您能否进一步详细说明您的问题,因为我发现很难理解您所面临的确切问题
-
@Bernard'BetaBerlin'Parah 我已经对其进行了编辑,在发送 url 中的参数时我收到错误 Page not found (404)
-
您需要编辑您的 url 以显示您想要获得的值
http://192.168.0.3:8080/?model_number=001-000002/。那么您可以使用当前代码获取值 -
另一种方法是像这样使用 kwargs ...
self.kwargs['param_name']
标签: python django filter django-rest-framework get