【发布时间】:2010-11-10 12:50:27
【问题描述】:
如果您从 Google 来这里寻找模型来听写,请跳过我的问题,直接跳到第一个答案。我的问题只会让你困惑。
在 Django 中是否有一种将模型对象的整个集合放入单个字典的好方法?我的意思是,像这样:
class DictModel(models.Model):
key = models.CharField(20)
value = models.CharField(200)
DictModel.objects.all().to_dict()
... 结果是一个字典,其中键/值对由模型中的记录组成?有其他人认为这对他们有用吗?
谢谢。
更新
我只想补充一点,我的最终目标是能够在模板中进行简单的变量查找。比如:
{{ DictModel.exampleKey }}
使用 DictModel.objects.get(key__exact=exampleKey).value 的结果
不过,总体而言,你们的所有回复都非常有帮助,以及处理这些回复的方式有多么不同,这让我感到非常惊讶。非常感谢。
2011 年 10 月更新:
如果你用谷歌搜索“django model_to_dict”,这个问题是最好的结果,这实际上非常糟糕,因为它解决的问题与我所问的不同。
我想要的是能够将查询集中的所有实例映射到以指定模型字段为键的单个字典中。
另一方面,model_to_dict 将单个模型实例转换为字典。
现在,我当时的需求非常具体,而且可能非常罕见(我什至不记得我需要它的项目,或者为什么)。所以我会很惊讶,任何寻找有关 model_to_dict 信息的人都会发现我的问题实际上很有用。对不起。
model_to_dict 似乎是一个比我更常见的用例。
2011 年 12 月更新:
我更改了标题,希望能更好地反映我的初衷。
【问题讨论】:
-
如果您正在寻找如何将单个 django 模型转换为字典,请到这里:stackoverflow.com/q/21925671/2800876
-
list_of_json = [model_to_dict(model) for model in list_of_models]
标签: python django django-models dictionary