簡體   English   中英

Django kwarg總是'pk'嗎?

[英]Django kwarg always 'pk'?

我正在使用django rest框架開發django應用程序。 我正在嘗試使用如下網址過濾返回的數據:

router.register(r'^api/rates/(?P<name>\w+)', views.RateViewSet)

這是觀點:

def get_queryset(self):
    if 'name' in self.kwargs:
        n = self.kwargs['name']
        return Rates.objects.filter(name=n)

但是由於某種原因,無論我做什么,第一個kwarg始終被命名為“ pk”。 即使我將其設置為正則表達式url中的名稱。 但是,當我添加帶有api / rates / one / two之類的第二個kwarg時,整個內容(一個/兩個)將附加到名稱鍵上。 難道我做錯了什么? 我怎樣才能解決這個問題?

您需要設置lookup_field屬性。 默認為'pk'

lookup_field='name'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM