Django rest framework nested serializer crud operations . что требуется - создать api, который должен вызываться только один раз для выполнения crud operations

models.py

class User(models.Model):
    ROLE_CHOICES = (
        ("admin","ADMIN"),
        ("staff","STAFF")
        )

    username = models.CharField(max_length=256)
    password = models.CharField(max_length=256)
    firstname = models.CharField(max_length=256)
    lastname = models.CharField(max_length=256)
    email = models.CharField(max_length=256)
    role = models.CharField(max_length=256,choices=ROLE_CHOICES)

class Profile(models.Model):
    user = models.OneToOneField(User,on_delete=models.CASCADE,primary_key=True,)
    phone_number = models.IntegerField()
    company_name = models.CharField(max_length=256)

serializer.py

class UserSerializer(serializers.ModelSerializer):
    
    class Meta:
        model = User
        fields = '__all__'
class ProfileSerializer(serializers.ModelSerializer):
    user = UserSerializer(many=True)

    class Meta:
        model = Profile
        fields = '__all__'

    def create(self, validated_data):
        users_data = validated_data.pop('user')
        user = User.objects.create(**user_data)
        profile = Profile.objects.create(user=user,**validated_data)
        # for user_data in users_data:
            # User.objects.create(**user_data)
        return profile

Я хочу использовать вложенный сериализатор для выполнения грубых операций. Я написал код для метода post и вызываю профильный сериализатор в моих представлениях.

Вернуться на верх