Django rest framework 返回字典而不是字典列表

Django rest framework 返回字典而不是字典列表,django-rest-framework,Django Rest Framework,我有一个包含两个字段的模型。我希望一个字段是关键,第二个字段是内容 我希望Modelserializer返回一个字典,其中包含column1值作为键,column2值类似值: { "column1Value": "column2Value", "column2Value": "column2Value", "column3Value": "column3Value"

我有一个包含两个字段的模型。我希望一个字段是关键,第二个字段是内容

我希望Modelserializer返回一个字典,其中包含column1值作为键,column2值类似值:

{
  "column1Value": "column2Value",
  "column2Value": "column2Value",
  "column3Value": "column3Value"
}
现在我的序列化程序正在返回类似的内容

[
  {
    "columnField1Name": "field1",
    "columnField2Name": "field2",
  }
     ....
]
谢谢

model.py

class Test(models.Model):
  code = models.SlugField(max_length=100)
  content = models.TextField()
序列化程序.py

class TestSerializer(ModelSerializer):
   class Meta:
      model = Test
      fields = ['code', 'content']

我不确定它是否最适合您的用例

在序列化程序类中添加一个
SerializerMethodField()
,并在方法定义中为每个模型实例创建一个字典

class TestSerializer(ModelSerializer):
    
    field_name = serializers.SerializerMethodField()
   
   class Meta:
      model = Test
      fields = ['field_name']
    
    def get_field_name(self, obj):

        column1value = obj.column1
        column2value = obj.column2

        return {
            str(column1value) : str(column2value)
        }
但是,来自序列化数据的
字段\u name
将是一个字典。要将其转换为您期望的格式,您可以将列表中的每个字典合并到一个空字典中

some_dict = {}

for dicti in field_name:
    some_dict.update(dicti)

您可以在视图中执行此操作。py

请显示序列化程序和模型我添加了序列化程序和模型。很简单,您是想从模型中获取所有对象还是只获取一个对象?我想从字典列表(这是默认情况下返回modelSerializer的内容)中返回一个字典(仅一个),其中dictionary的键是模型字段1,值是模型的字段2。