Serialization 如何在django中更改序列化程序中的字段名
我有一个字段国家/地区id和country_uname,我想更改Django rest框架中两个字段的名称 现在就写,我得到了这些数据Serialization 如何在django中更改序列化程序中的字段名,serialization,django-rest-framework,Serialization,Django Rest Framework,我有一个字段国家/地区id和country_uname,我想更改Django rest框架中两个字段的名称 现在就写,我得到了这些数据 { "data": [ { "country_id": 1, "country_name": "Afghanistan" }, { "country_id": 2, "country_name": "Aland Islands" } ] } { "data"
{
"data": [
{
"country_id": 1,
"country_name": "Afghanistan"
},
{
"country_id": 2,
"country_name": "Aland Islands"
}
]
}
{
"data": [
{
"id": 1,
"name": "Afghanistan"
},
{
"id": 2,
"name": "Aland Islands"
}
]
}
我在serializers.py文件中进行了更改,但不适用于我
序列化程序.py
class CountrySerializer(serializers.ModelSerializer):
name = serializers.SerializerMethodField('country_name')
class Meta:
model = Country
fields = ('country_id', 'name')
模型中
class Country(models.Model):
country_id = models.AutoField(primary_key = True)
country_name = models.CharField(max_length = 128)
class Meta:
db_table = 'countries'
我想要这些数据
{
"data": [
{
"country_id": 1,
"country_name": "Afghanistan"
},
{
"country_id": 2,
"country_name": "Aland Islands"
}
]
}
{
"data": [
{
"id": 1,
"name": "Afghanistan"
},
{
"id": 2,
"name": "Aland Islands"
}
]
}
获取此错误:AttributeError at/v1/location/Country/
“CountrySerializer”对象没有属性“country\u name”您必须在“serializers.py”文件中进行更改 然后你会得到这样的数据
{
"data": [
{
"id": 1,
"name": "Afghanistan"
},
{
"id": 2,
"name": "Aland Islands"
}
]
}
实际的模型字段是否需要出现在字段元属性中,或者出现在序列化程序中声明的字段中?相关文档在哪里?对于可写序列化程序,验证的\u数据是否包含名称和id,或国家/地区\u名称和国家/地区id?