Skip to main content
 首页 » 编程设计

python之能够使用值返回嵌套字典 Django

2024年08月15日29qq号

假设我有一个名为 Blog 的模型,这就是值的工作方式

>>> Blog.objects.values() 
[{'id': 1, 'name': 'Beatles Blog', 'tagline': 'All the latest Beatles news.'}], 
>>> Blog.objects.values('id', 'name') 
[{'id': 1, 'name': 'Beatles Blog'}] 

但是假设我想把名字变成另一个字典并得到这样的返回

[{'id': 1, 'blog': { 'name': 'Beatles Blog'}}] 

是否可以通过使用值或类似的东西来实现上述目标?

我知道我可以做类似的事情

[{'id': blog.pk, 'blog': {'name': blog.name}} for blog in blogs]

提前感谢我的好奇心

请您参考如下方法:

使用 values 是不可能的。

您建议的方法效果很好。

如果您的模型中有很多额外的字段,并且只需要这两个字段,则性能改进是首先使用值仅加载您需要的字段,然后对它们执行列表理解以按照您指定的方式重新格式化它.

这避免了不必要地查询数据库中不需要的字段。