2016-06-01 6 views
1

Могу ли я использовать тот же QuerySet для двух различных ModelViewSet классов?Джанго Rest Framework viewsets queyset дублировать

Я пытаюсь использовать тот же QuerySet но Джанго рамки остальные дублируют мой API маршрут.

views.py

class PlannerAgentViewSet(viewsets.ModelViewSet): 

    queryset = EstateStatus.objects.all() 
    serializer_class = PlannerAgentListingSerializer 
    permission_classes = (IsAuthenticated,) 
    http_method_names = ['get'] 

class PlannerClientViewSet(viewsets.ModelViewSet): 

    queryset = EstateStatus.objects.all() 
    serializer_class = PlannerClientListingSerializer 
    permission_classes = (IsAuthenticated,) 
    http_method_names = ['get'] 

urls.py

router = routers.DefaultRouter() 
router.register(r'planner_agent', views.PlannerAgentViewSet) 
router.register(r'planner_client', views.PlannerClientViewSet) 

И я получаю:

"planner_agent": "http://127.0.0.1:8000/api/v1/planner_client/",

"planner_client": "http://127.0.0.1:8000/api/v1/planner_client/",

Когда я использую различные QuerySet работы. Поэтому я могу использовать тот же набор запросов? Спасибо за помощь.

UPDATE: Route "HTTP: // 127.0.0.1:8000/api/v1/planner_agent/" существует, но необходимо получить доступ вручную

ответ

0

Конечно, вы можете сделать это, но вы необходимо вручную установить base_name для ваших маршрутов, чтобы изменить эти ури.

В вашем случае:

router.register(r'planner_agent', views.PlannerAgentViewSet, base_name='planner_agent') 
router.register(r'planner_client', views.PlannerClientViewSet, base_name='planner_client') 
+0

работы :) Спасибо! – FACode

+0

Добро пожаловать в бутон :) –

Смежные вопросы