I am using Django 1.6.8 and Django Rest 2.4.4. I have a Person model with separate models for Address and PhoneNumbers.
class Person(models.Model):
address = models.OneToOneField(Address, blank=True, null=True)
phoneNumbers = models.ManyToManyField(PhoneNumber, blank=True)
class Address(models.Model):
address = models.CharField(max_length=50)
city = models.CharField(max_length=50)
state = models.CharField(max_length=2)
class PhoneNumber(models.Model):
number = models.CharField(max_length=15)
numberType = models.CharField(default='Mobile', max_length=15)
I use nested serializers in a Django REST framework.
class PersonSerializer(serializers.HyperlinkedModelSerializer):
id = serializers.Field('id')
address = AddressSerializer(source='address')
phoneNumbers = PhoneNumberSerializer(many=True)
This works for GET (I get the address and phone numbers as nested json fields), but I need the same for PUT / POST / PATCH. In particular, for each phone number, I want it to be updated if the identifier is specified or created if there is no identifier in json. And the same for the address, all in the same API call.
source
share