我想知道Django中是否有任何方便的助手可以将查询结果返回为更“可用”的格式,这样我就不必在视图中遍历它们。
我有一个类似这样的查询:
self.filter(key__in=keys).values('key','value')我想要的是一个看起来像这样的对象
{'some_key':'some value', 'some_other_key':'some_other_value'}所以在我的模型中,我可以这样做:
settings = Setting.objects.get_keys(['some_setting','some_other_setting'])
print settings.some_setting # returns 'some value'其中'get_keys‘是运行上述过滤器查询的管理器函数。你知道我该怎么做吗?我不反对在设置管理器中迭代结果,因为我可以将它们存储起来供以后使用。不过,我不太明白如何创建一个“全局”模型变量。
任何帮助都将不胜感激!
发布于 2011-01-24 19:26:24
如果您使用values_list而不是values,它将返回一组二元组,然后您可以将其传递给dict()以创建字典:
return dict(self.filter(key__in=keys).values_list('key','value'))发布于 2011-01-24 19:28:42
我认为您正在寻找的是:http://docs.djangoproject.com/en/stable/ref/models/querysets/#in-bulk这个函数接受主键的列表,并返回映射到这些键的模型的字典。听起来这就是你想要的?
https://stackoverflow.com/questions/4781242
复制相似问题