如何更改url中某些参数的名称?就像这样//,但默认情况下参数名是“pk”,我向"api/product/1/rate/1/"
发出请求并获得{'product_pk': '1', 'pk': '1'}
。
我想把“pk”重命名为“person_id”。
这怎么搞的?
from rest_framework_nested import routers
router = routers.SimpleRouter()
router.register(r'product', ProductViewSet)
rate_router = routers.NestedSimpleRouter(router, r'product', lookup='product')
rate_router.register(r'rate', RateViewSet, base_name='rate')
字符串
2条答案
按热度按时间cfh9epnr1#
您可以通过使用
lookup_field
和lookup_url_kwarg
来控制这一点。这是文件x3naxklr2#
已经有一段时间了。但是遇到了同样的问题,我想那会对其他人有帮助。
在您的视图集中,在本例中为ProductViewSet,添加lookup_url_kwarg = 'person_id',否则路由器将使用默认的'pk' lookup_url_kwarg。
这就解决了问题。希望对你有帮助。:)