#python #django #dictionary #django-serializer
Вопрос:
У меня есть следующий словарь внутри списка
self.passengers = [{'first_name':'Harry','last_name':'kane'},{'first_name':'cristiano','last_name':'aviero'}
Я установил свой сериализатор следующим образом
class PassengerSerializer(serializers.Serializer):
first_name = serializers.CharField()
last_name = serializers.CharField()
class TicketDetailSerializer(serializers.Serializer):
passenger = PassengerDetailSerializer(many=True)
Я установил свой код следующим образом для извлечения данных о пассажирах
'passenger': [{
'last_name': [passenger['last_name'] for passenger in self.passengers],
'first_name': [passenger['first_name'] for passenger in self.passengers]
}],
Но я получаю только имя- > «гарри» и фамилию->> кейн, что мне делать дальше, чтобы получить весь словарь имени и фамилии self.passengers?
Я получаю вывод в виде:
"passenger": [
{
"lastname": "['kane', 'aviero']",
"firstname": "['harry', 'cristiano']"
}
]
Я хочу, чтобы результат был таким
"passenger": [
{
"lastname": "kane",
"firstname": "harry"
},
{
"lastname": "aviero",
"firstname": "cristiano"
}
]
Комментарии:
1. Ты пропустил букву «с»? self.passengers = [{‘fi… vs пассажир = PassengerDetailSerializer(много=Верно)
2. нет, нет, это не проблема, я просто сохранил часть кода, поэтому он был потерян
3. В чем разница между вашими входными данными и желаемыми выходными данными?
4. Я уже упоминал там
Ответ №1:
'passenger': [{
'last_name': passenger['last_name'],
'first_name': passenger['first_name']
} for passenger in self.passengers ]
Комментарии:
1. все тот же результат
2. Это очень маловероятно. Может быть, что-то еще не так.
3. Единственное различие, которое я вижу между выводом
self.passengers
и ожидаемым результатом, заключается в том, что_
в ключах вывода нет s, все остальное одинаково. поправьте меня, если я ошибаюсь.4. это не проблема в переменной, так как я просто заменил свои основные переменные кода в своем вопросе на переменные, но в моей среде разработки это было сделано в качестве ответа в конце он получает понимание списка, поэтому значение находится в списке