Tastypie 通过 PK 以外的参数访问资源

Tastypie access resource by parameter other than PK

我很难弄清楚如何问这个问题。

我有一个模型User。目前,当我想访问特定用户时,我会转到 url: /api/v1/user/8/。虽然,所有用户都有唯一的用户名,所以我想使用 url 转到特定用户:/api/v1/user/joe/.

也许 prepend_urls()?

您需要在 ModelResourceMeta class (documentation) 中使用 detail_uri_name - 示例 resources.py:

from django.contrib.auth.models import User
from tastypie.resources import ModelResource


class UserResource(ModelResource):
    class Meta:
        queryset = User.objects.all()
        allowed_methods = ['get']
        detail_uri_name = 'username'