Я пишу API для моего проекта. Там у меня есть модель пользователя, расширенная моделью профиля. Я не знаю, как сделать регистрацию.
Я должен получить электронную почту, логин, пароль и jud_id от json и создать пользователя и профиль, используя эти данные. Я написал модель профиля и сериализаторы для пользователя и профиля (я не совсем уверен, как передать пользователя в поле пользователя). Но как мне записать регистрацию в моих представлениях (как я понимаю там, я должен использовать сериализаторы)?
models.py
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
judge_id = models.CharField(max_length=30)
completed_tasks = models.ManyToManyField(Task, related_name="compl+")
wa_tasks = models.ManyToManyField(Task, related_name="wa+")
todo_tasks = models.ManyToManyField(Task, related_name="todo+")
notes = models.ManyToManyField(Note)
serializers.py
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ('username', 'email', 'password')
extra_kwargs = {'password': {'write_only': True}}
def create(self, validated_data):
user = User(
email=validated_data['email'],
username=validated_data['username'])
user.set_password(validated_data['password'])
user.save()
return user
class ProfileSerializer(serializers.ModelSerializer):
class Meta:
model = Profile
fields = '__all__'