Как я могу создать объект расширенной модели User на Django? - PullRequest
0 голосов
/ 20 октября 2019

Я пишу 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__'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...