Python 如何覆盖Django Rest身份验证注册?
我正在使用Python 如何覆盖Django Rest身份验证注册?,python,django,Python,Django,我正在使用Django/Rest Auth进行一个小项目,我想知道如何覆盖注册,我想在注册中添加一些其他字段,因为我想在注册期间做一些其他事情 PS:我已经在这里检查了一些问题,但我无法使用它们,因为每个问题都解释了不同的方法,这就是为什么找到了解决方案: from rest_framework import serializers from rest_auth.registration.serializers import RegisterSerializer from django.db i
Django/Rest Auth
进行一个小项目,我想知道如何覆盖注册,我想在注册中添加一些其他字段,因为我想在注册期间做一些其他事情
PS:我已经在这里检查了一些问题,但我无法使用它们,因为每个问题都解释了不同的方法,这就是为什么找到了解决方案:
from rest_framework import serializers
from rest_auth.registration.serializers import RegisterSerializer
from django.db import transaction
from users.models import CustomUser
from apps.teams.tasks import createUserTenant
from centrix.celery import app
class CustomRegisterSerializer(RegisterSerializer):
first_name = serializers.CharField(required=True, min_length=3)
last_name = serializers.CharField(required=False, min_length=3)
username = serializers.CharField(required=True, min_length=5)
password1 = serializers.CharField(required=True, min_length=8)
@transaction.atomic
def save(self, request):
# Create A new Coming User
try:
user = CustomUser()
user.first_name = self.data.get('first_name')
user.last_name = self.data.get('last_name')
user.username = self.data.get('username')
user.email = self.data.get('email')
user.set_password(self.data.get('password1'))
user.save()
if type(user.id) is int:
createUserTenant.delay(user.first_name,user.last_name,user.username, user.id, user.username)
except:
pass
# set the task id (result.id) in celery
# get the return value by using get of celery
# return back the object to rest auth registration ( returning an object is important )
return user