我有布尔字段的模型:
class ExampleModel(User):
field_value_one = models.BooleanField(verbose_name=_(u'Field Value One'))
....another boolean fields.....
如何为verbose_name序列化编写serializator类? 我怎么能得到这些数据?
响应示例:
{
'Field Value One' :true,
.....
}
或
{
field_value_one: {
verbose_name: 'Field Value One',
value: 'true'
}
}
答案 0 :(得分:1)
您可以从模型字段详细信息中获取详细名称。序列化方法字段示例:
from rest_framework import serializers
from .models import ExampleModel
class ExampleModelSerializer(serializers.ModelSerializer):
field_value_one = serializers.SerializerMethodField()
class Meta(object):
model = ExampleModel
def get_field_value_one(self, obj):
# get model field
field = next(f for f in obj._meta.fields if f.name == 'field_value_one')
return {
'verbose_name': field.verbose_name.title(),
'value': obj.field_value_one
}