我正在关注快速入门教程(http://www.django-rest-framework.org/tutorial/quickstart#quickstart)如果我们知道它的“id”,它可以在数据库中创建/删除/更新用户,但对于用户来说是否可以这样做特别邮件? 还请建议进行此项修改所需的修改,并启用API以通过电子邮件(如用户/电子邮件)进行查找。
答案 0 :(得分:0)
在您的子视图lookup_field
的视图或视图集上设置lookup_url_kwarg
和GenericAPIView
。使用ModelViewSet
和SimpleRouter
的基本示例如下所示:
views.py:
class UserViewSet(viewsets.ModelViewSet):
lookup_field = 'email'
lookup_url_kwarg = 'email'
urls.py:
router = routers.SimpleRouter()
router.register(r'^users', UserViewSet)
urlpatterns = router.urls
答案 1 :(得分:0)
如果您使用HyperlinkedModelSerializer
,则必须在序列化程序中设置lookup_field
。
class UserSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = User
fields = ('url', 'username')
lookup_field = 'email'