2015-09-14 77 views
1

我试图做一个自定义字段来呈现一个超链接嵌套路由器的列表视图(https://github.com/alanjds/drf-nested-routers超链接的嵌套式路由器的关系

通常人们会用HyperlinkedRelatedField的多对多关系(与许多= TRUE),但我需要/想要的只是返回一个URL(因为端点是一个列表视图),而不是每个相关对象一个......有可能没有重新发明轮子?

我创建了一个字段(https://github.com/alanjds/drf-nested-routers/blob/master/rest_framework_nested/relations.py#L63),它对外键非常有效,但对于ManyToMany关系不起作用。

任何线索从哪里开始?我注意到很多= true的RelatedFields会自动转换为ManyRelatedFields在https://github.com/tomchristie/django-rest-framework/blob/master/rest_framework/relations.py#L76,但afaik,这ManyRelatedField也有逻辑来解析传入数据(POST,PUT,PATCH)...

反正,任何帮助表示赞赏。

回答

0

显然,在与@tomchristie快速聊天后,正确的方法是使用序列化程序的HyperlinkedIdentityField。

关系本身应该应用于具有适当HyperlinkedRelatedField的子元素,以处理关系本身的变化,因为这是明智的做法。