在我的API的原始数据表明,在作出POST请求这种结构的POST请求。如何让Django的REST框架与数组属性的对象
{
"empID": "",
"fullname": "",
"contactnumber": []
}
,并在这里的API列表是一些例子结构:
{
"empID": "DJS1003",
"fullname": "Doe, John Smith",
"contactnumber": [
{
"contactnumber": "123456789"
},
{
"contactnumber": "321456879"
}
]
}
现在,让一个POST请求时,我的目标数据是这样的:
contactnumber : Array[2]
0:"444-1234"
1:"0911-124-7854"
fullname:"John Doe"
empID:"1001"
而我得到的说,这个错误:
contactnumber:[{non_field_errors:[“无效的数据。预期 字典,却得到了海峡。“]},...]
UPDATE
这是我model.py
class Employee(models.Model):
empID = models.CharField(primary_key=True, max_length= 50, null=False)
fullname = models.CharField(max_length=50)
class ContactNumber(models.Model):
empID = models.ForeignKey(Employee, related_name="contacts", to_field='empID', on_delete = models.CASCADE)
contactnumber = models.CharField(max_length=13)
这是我serialzer.py
class ContactsSerializer(serializers.ModelSerializer):
class Meta:
model = ContactNumber
fields = (
'empID_id',
'contactnumber',
)
class EmployeeListSerializer(serializers.ModelSerializer):
contacts = ContactsSerializer(many=True)
class Meta:
model = Employee
fields = (
'empID',
'fullname',
)
您可以发布您的视图集中和串行代码? – Dap
@Dap我刚刚更新了我的帖子 –