mat*_*eok 1 django rest post django-rest-framework
使用drf-extensions我能够实现嵌套路由,以便能够使用模式 /users/{pk}/comments 访问相关对象。虽然工作正常,但我想找到一种使用该 URI 创建对象的方法,其中外键将自动设置为 {pk} 中指定的父对象。我怎样才能做到这一点?
小智 5
github 存储库上存在问题。目前推荐的方法是显式实现此逻辑:
# viewsets
from rest_framework_extensions.utils import compose_parent_pk_kwarg_name
class CommentViewSet(ModelViewSet):
pass
class UserCommentViewSet(NestedViewSetMixin, CommentViewSet):
def create(self, request, *args, **kwargs):
user_pk = getattr(self, compose_parent_pk_kwarg_name('user_comments'))
request.DATA['user'] = user_pk
return super(UserCommentViewSet, self).create(request, *args, **kwargs)
# routers
router = ExtendedSimpleRouter()
router.register(r'comments', CommentViewSet)
(
router.register(r'users', UserViewSet, base_name='user')
.register(r'comments',
UserCommentViewSet,
base_name='users-comments',
parents_query_lookups=['user_comments'])
)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
758 次 |
最近记录: |