簡體   English   中英

Django 序列化器如何循環字典值並在序列化器中返回

[英]Django Serializer How to loop over dictionary value and return in 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? 我得到 output 為:

"passenger": [
        {
            "lastname": "['kane', 'aviero']",
            "firstname": "['harry', 'cristiano']"
        }
    ]

我想要 output 作為

"passenger": [
            {
                "lastname": "kane",
                "firstname": "harry"
            },
            {
                "lastname": "aviero",
                "firstname": "cristiano"
            }
        ]
'passenger': [{
               'last_name': passenger['last_name'],
                'first_name': passenger['first_name']
              } for passenger in self.passengers ]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM