Как получить первичный ключ в строковом формате в django rest framework
В настоящее время я работаю над проектом django rest framework и требование к выводу ответа описано ниже.
Если у кого-нибудь есть идеи по этому поводу, это будет очень полезно для меня.
В настоящее время я получаю следующие результаты:
{
"status": true,
"message": "User Details",
"Detail": {
"id": 1,
"phone": "9874563120",
"first_name": "Crish",
"birthdate": "1989-09-16",
"age": 32,
"email": "crish@gmail.com",
}
}
Но я хочу получить результат следующего вида:
{
"status": true,
"message": "User Details",
"Detail": {
"id": "1", #in string formate
"phone": "9874563120",
"first_name": "Crish",
"birthdate": "1989-09-16",
"age": "32", #in string formate
"email": "crish@gmail.com",
}
}
какое изменение я должен сделать, чтобы получить этот тип вывода!
Есть простое решение этой проблемы, вам просто нужно добавить несколько строк в класс сериализатора.
Предполагаю, что ваш serializers.py
файл выглядит следующим образом :
serializers.py
class UserSerializer(serializers.ModelSerializer): #Assumed class name
class Meta:
model = User #Assumed model name
fields = ['id','phone','first_name','birthdate','age','email']
#you just need to add following representation function after your `Meta class`
def to_representation(self, instance):
repr = super().to_representation(instance)
repr['id'] = str(repr['id'])
repr['age'] = str(repr['age'])
return repr
это решит вашу проблему :)