Я работаю с устаревшей базой данных, которая имеет 2 записи, данные в каждой записи содержат следующие значения: имя, адрес электронной почты, компания, телефон
Эти 2 записи содержат одно и то же значение данных, кроме значениядля телефона, который отличается.
Когда я получаю их в JSON, я получаю следующий вывод:
"results": [
{
"Name": "Mack",
"Email": "Mack@email.com",
"Company": "Company Name",
"Phone": "123456789"
},
{
"Name": "Mack",
"Email": "Mack@email.com",
"Company": "Company Name",
"Phone": "1111111"
}
]
Мой вопрос: Как вы можете видеть, есть некоторые дублирующие данные в выводе выше,поэтому есть способ упорядочить вывод JSON следующим образом:
"results": [
{
"Name": "Mack",
"Email": "Mack@email.com",
"Company": "Company Name",
"Phone": "123456789"
"Phone 2": "1111111"
}
]
Вот код для файла Views.py:
class DataView(viewsets.ModelViewSet):
queryset = DataList.objects.all()
serializer_class = DataSerializer
Вот код для Serializers.pyfile:
class DataSerializer(serializers.ModelSerializer):
data_details = serializers.SerializerMethodField()
class Meta:
model = DataList
fields = 'data_details'
def get_data_details(self, obj):
return [{
'name': obj.name,
'email': obj.email,
'company': obj.company,
'phone': obj.phone,
}]
Вот код для файла models.py:
class Data(models.Model):
name = models.CharField(db_column='name', primary_key=True, max_length=50)
email = models.CharField(db_column='email', max_length=50)
company = models.CharField(db_column='company', max_length=100)
phone= models.TextField(db_column='phone')
class Meta:
managed = False
db_table = 'data_table'
Спасибо.