我尝试使用此URL结构创建嵌套序列化程序:localhost / ficha / {pk} / propuestas /
我找到了drf-nested-routers软件包,我试图按照这些示例实现它,但我不确定我是否以正确的方式使用它。
url.py
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)
我有一个TypeError: new ()只需要5个参数(给定4个)