我正在使用drf-nested-routers包构建嵌套 API。
但是/domains/1/nameservers/
,给了我我拥有的所有名称服务器,而不仅仅是一个与域#1 相关的名称服务器
我认为问题在于我使用默认教程 NameServerViewSet 实现
class NameserverViewSet(viewsets.ModelViewSet):
queryset = Nameserver.objects.all()
serializer_class = NameserverSerializer
请帮我正确编码。
下面是来自drf-nested-routers github 页面的示例。
drf-nested-routers 提供嵌套路由器,在下面生成 url 模式
\domain\ <- 域列表 \domain{pk}\ <- 一个域,来自 {pk]
\domain{domain_pk}\nameservers\ <- 来自的域名服务器
{domain_pk} \domain{domain_pk}\nameservers\ {pk}\ <- 来自 {pk} 的特定名称服务器,来自 {domain_pk} 的域
这是一个例子:
# urls.py
from rest_framework_nested import routers
from views import DomainViewSet, NameserverViewSet
(...)
router = routers.SimpleRouter()
router.register(r'domains', DomainViewSet)
domains_router = routers.NestedSimpleRouter(router, r'domains', lookup='domain')
domains_router.register(r'nameservers', NameserverViewSet)
urlpatterns = patterns('',
url(r'^', include(router.urls)),
url(r'^', include(domains_router.urls)),
)