Django Rest框架-嵌套路由器
我正在尝试使用以下URL结构创建一个嵌套序列化程序:localhost/ficha/{pk}/propuestas/ 我找到了drf嵌套路由器包,并尝试按照下面的示例实现它,但我不确定是否以正确的方式使用它 url.pyDjango Rest框架-嵌套路由器,django,django-rest-framework,Django,Django Rest Framework,我正在尝试使用以下URL结构创建一个嵌套序列化程序:localhost/ficha/{pk}/propuestas/ 我找到了drf嵌套路由器包,并尝试按照下面的示例实现它,但我不确定是否以正确的方式使用它 url.py router.register(r'fichas', views.FichasViewSet,) fichas_router = routers.NestedSimpleRouter(router, r'fichas', lookup='propuesta') fichas_r
router.register(r'fichas', views.FichasViewSet,)
fichas_router = routers.NestedSimpleRouter(router, r'fichas', lookup='propuesta')
fichas_router.register(r'propuestas', views.PropuestaViewSet)
urlpatterns = patterns('',
url(r'^', include(router.urls)),
url(r'^', include(fichas_router.urls)),
[...]
views.py
class FichasViewSet(viewsets.ModelViewSet):
queryset = Fichas.objects.all()
serializer_class = FichasSerializer
def pre_save(self, obj):
obj.owner = self.request.user
def post_save(self, obj, created=False):
obj.group = self.request.user.groups.values_list('id', flat=True)
class PropuestaViewSet(viewsets.ModelViewSet):
queryset = Propuesta.objects.all()
def list(self, request, domain_pk=None):
serializer = PropuestaSerializer(queryset, many=True)
propuestas = self.queryset.filter(domain=domain_pk)
return Response(serializer.data)
def retrieve(self, request, pk=None, domain_pk=None):
propuestas = self.queryset.get(pk=pk, domain=domain_pk)
return Response(serializer.data)
我有一个类型错误:new()正好需要5个参数(给定4个)您能解决您的问题吗?那么请把解决方案贴出来。