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 и вызываю профильный сериализатор в моих представлениях.