title: Direct assignment to the reverse side of a related set is prohibited. Use addresses.set() instead
body: <p>I am going to create and update nested relationships but it is not working as expected I have a three models User, Profile and Address. Profile model is a FK in Address model</p>
  
  <p><strong>profiles/models.py</strong></p>
  
  <pre><code>class Address(models.Model):
     profile = models.ForeignKey(Profile, related_name='addresses', on_delete=models.CASCADE)
     country = models.CharField(max_length=255)
     city = models.CharField(max_length=255)
     state = models.CharField(max_length=100)
     zip_code = models.CharField(max_length=50)
     address = models.CharField(max_length=1000)
  </code></pre>
  
  <p><strong>profiels/serializers.py</strong></p>
  
  <pre><code>class ProfileSerializer(serializers.ModelSerializer):
      addresses = AddressSerializer(many=True)
  
  class Meta:
      model = Profile
      fields = ['gender', 'date_of_birth', 'hometown', 'phone', 'addresses']
  
  def create(self, validated_data):
      addresses_data = validated_data.pop('addresses')
      profile = Profile.objects.create(**validated_data)
      for address_data in addresses_data:
          Address.objects.create(profile=profile, **address_data)
      return profile
  </code></pre>
  
  <p><strong>users/serializers.py</strong></p>
  
  <pre><code>class UserSerializer(serializers.HyperlinkedModelSerializer):
  profile = ProfileSerializer(required=True)
  class Meta:
      model = User
      fields = ['id', 'url', 'first_name', 'last_name', 'email', 'password', 'profile']
      extra_kwargs = {'password': {'write_only': True}}
  
  def create(self, validated_data):
      profile_data = validated_data.pop('profile')
      password = validated_data.pop('password')
      user = User(**validated_data)
      user.set_password(password)
      user.save()
      Profile.objects.create(user=user, **profile_data)
      return user
  
  def update(self, instance, validated_data):
      profile_data = validated_data.pop('profile')
      profile = instance.profile
      instance.email = validated_data.get('email', instance.email)
      instance.first_name = validated_data.get('first_name', instance.first_name)
      instance.last_name = validated_data.get('last_name', instance.last_name)
      instance.save()
  
      profile.gender = profile_data.get('gender', profile.gender)
      profile.date_of_birth = profile_data.get('date_of_birth', profile.date_of_birth)
      profile.hometown = profile_data.get('hometown', profile.hometown)
      profile.phone = profile_data.get('phone', profile.phone)
      profile.addresses = profile_data.get('addresses', profile.addresses)
      profile.save()
  </code></pre>
  
  <p>It is working very well with user and profile I can create and update but when I add <strong>addresses</strong> it gives me error above shown in the title. I do not know yet how to solve nested inside nested relationships. Any help would be appreciated) Thanks beforehand!</p>