在 Django REST Framework 中向用户配置文件视图添加额外字段

Add extra fields to User Profile view in Django REST Framework

我正在使用 Django 2.xDjango REST Framework 以及 Django REST Auth

默认情况下,Django REST Auth 为配置文件详细信息提供端点,其中 returns 来自 User 模型的经过身份验证的用户的详细信息。

默认视图提供字段

fields = ('pk', 'username', 'email', 'first_name', 'last_name')

终点是/api/user/

我想向序列化程序添加更多字段,因为我正在使用自定义用户模型并向其添加了更多字段。

我是否需要创建自定义视图并重新定义序列化程序class或者我可以扩展默认提供的视图和序列化程序以添加额外的字段?

如果您选中 docs,您将设置为自定义序列化程序有一个配置选项。您可以通过在 django 设置中添加 REST_AUTH_SERIALIZERS 字典来为每个端点定义自定义 serializers 而无需覆盖 urlsviews

示例:

REST_AUTH_SERIALIZERS = {
    'USER_DETAILS_SERIALIZER': 'path.to.custom.serializer' 
}