2015-12-01 32 views
0

我有集团和美国模式让说,我想过滤所有组的任何用户ViewSets。动态URL在Django的REST

URL->groups/<user_id>/

我想为此创建视图集,但我不知道如何动态了解创建网址像上面我提到。我猜视图集中采取动态网址,模型本身凝乳操作像/group/<grouop_id>/但对我来说动态parem不pk但在该模型中的其他领域。

我希望我的问题使任何意义,在此viewsets可行的,如果是的话那么任何想法是什么将最好的方式做到这一点。

回答

0

假设你的组合模式是这样的:

class Group(models.Model) 
    user = models.OneToOneField('User') 

串行器将是:

class GroupSerializer(serializers.HyperlinkedModelSerializer): 
    user_id = serializers.Field(source='user.id') 

    class Meta: 
     model = Group 
     lookup_field = 'user_id' 

网址为:

/group/<user_id> 

有关进一步的参考阅读this

+0

用户是'FK',所以它可以有多个条目,因此它给出了这个错误** get()返回多个组** – user5594493

+0

models.OneToOneField确保只返回1个对象。你可以检查user__id。看看这是否与你合作。 –

+0

没有也,为一个条目,将工作,但更多的则一个它不是 – user5594493