如果您是从谷歌搜索模型转字典来到这里的,请跳过我的问题,直接跳到第一个答案。我的问题只会让您更加困惑。
Django中是否有一种好的方法可以将模型的整个对象集转换为单个字典?我的意思是像这样:
class DictModel(models.Model):
key = models.CharField(20)
value = models.CharField(200)
DictModel.objects.all().to_dict()
...生成一个由Model中的记录组成的键/值对字典?有其他人发现这对他们有用吗?
谢谢。
更新
我只是想补充一点,我的最终目标是能够在模板中进行简单的变量查找。类似于:
{{ 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月:
我更改了标题,希望能更好地反映我的初衷。
list_of_json = [model_to_dict(model) for model in list_of_models]
- FreshPow