如何限制Django查询返回的列?

时间:2010-03-15 17:07:56

标签: django orm

这看起来很简单,但所有Django查询似乎都是'SELECT *'

如何构建仅返回字段子集的查询?

2 个答案:

答案 0 :(得分:72)

在Django 1.1及更高版本中,您可以使用defer('col1', 'col2')从查询中排除列,或only('col1', 'col2')只能获取一组特定的列。请参阅the documentation

values略有不同 - 它只获取您指定的列,但它返回一个字典列表而不是一组模型实例。

答案 1 :(得分:27)

在查询中附加.values("column1", "column2", ...)