如何覆盖 rest-auth 保存用户的方式?

How can I override how rest-auth saves users?

我的站点有一个 django 后端,它使用 django-rest-auth 包进行身份验证。我想在 rest-auth 序列化程序中更改此功能:

path_to_my_virtenv/lib/python3.7/site-packages/rest_auth/registration/serializers.py

class RegisterSerializer(serializers.Serializer): 

    def get_cleaned_data(self):
        return {
            'username': self.validated_data.get('username', ''),
            'password1': self.validated_data.get('password1', ''),
            'email': self.validated_data.get('email', '')
        }

我试着直接编辑它,一切都如我所愿,但是我怀疑编辑 virtenv 站点包中的文件不是一个好主意。有没有办法从我的 Django 应用程序中覆盖它们?在我的情况下最好的做法是什么?

你说得对,编辑这个文件是最糟糕的选择。你不应该在你的本地机器上编辑第三方应用程序代码(除非你想测试一些极端情况)。

Django Rest Auth 允许您更改所有端点的序列化程序 class,您可以在 documentation.

上找到它