Ish*_*are 1 python django routing query-parameters django-rest-framework
在我的urls.py我有:
url(r'^dashboard/users/(?P<user_id>[0-9]+)/products/$', views.UserProductsList.as_view())
Run Code Online (Sandbox Code Playgroud)
在 views.py
class UserProductsList(generics.ListCreateAPIView):
def get_queryset(self):
if self.request.user_id:
return UserProducts.objects.filter(user_id=self.request.user_id).order_by('id')
else:
return UserProducts.objects.all().order_by('id')
Run Code Online (Sandbox Code Playgroud)
我希望能够像这样访问我的api:
http:// localhost:8000 / dashboard / users / 10 / products
应该列出该用户的所有产品,并且
http:// localhost:8000 / dashboard / users / 10 / products / 1
应该返回user_id 10的product_id 1
我如何实现此流程。
注意:我在此设置中使用Django rest框架
你可以做
class UserProductsList(generics.ListCreateAPIView):
def get_queryset(self):
if self.kwargs['user_id']:
return UserProducts.objects.filter(user_id=self.kwargs['user_id']).order_by('id')
else:
return UserProducts.objects.all().order_by('id')
Run Code Online (Sandbox Code Playgroud)
参考文件
| 归档时间: |
|
| 查看次数: |
1681 次 |
| 最近记录: |