2015-12-01 34 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