Я использую Django 2.0
и Django REST Framework
У меня есть модель для хранения адреса контакта, например
class ContactAddress(models.Model):
contact = models.ForeignKey(Contact, on_delete=models.CASCADE)
city = models.CharField(max_length=250)
postal = models.CharField(max_length=6)
state = models.ForeignKey(State, on_delete=models.PROTECT, blank=True)
У меня есть еще две модели для хранения state
и country
class Country(models.Model):
name = models.CharField(max_length=100, unique=True, verbose_name='Country Name')
class State(models.Model):
country = models.ForeignKey(Country, on_delete=models.PROTECT)
name = models.CharField(max_length=100, verbose_name='State Name')
Я хочу передать поле state
с данными POST
при создании новой записи address
app / serializers.py
class ContactAddressSerializer(serializers.ModelSerializer):
class Meta:
model = ContactAddress
depth = 2
fields = (
'id', 'city', 'postal', 'state'
)
def create(self, validated_data):
print(validated_data)
и мои POST
данные
[
{
"city": "City Name",
"postal": "110011",
"state": "Bihar"
}
]
Но в validated data
нет данных state
.Печать validate_data
возврат
def create(self, validated_data):
print(validated_data)
{'city': 'City Name', 'postal': '110011', 'contact': <Contact: contact_object>}
Как передать данные POST для соответствующего поля?