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