我已經看到了類似的查詢:即使我們並不需要所有列如何在django中只提取表的特定列?
user = User.objects.all() or User.objects.filter(username = username)
將獲取表的所有列。我們有更好的方式來編寫數據庫查詢嗎?如果是的話,爲什麼我們最不經常看到這些代碼?
我已經看到了類似的查詢:即使我們並不需要所有列如何在django中只提取表的特定列?
user = User.objects.all() or User.objects.filter(username = username)
將獲取表的所有列。我們有更好的方式來編寫數據庫查詢嗎?如果是的話,爲什麼我們最不經常看到這些代碼?
QuerySet.only()
和QuerySet.defer()
可用於改進ORM將提取哪些字段,推遲其他字段,直到訪問模型上的適當屬性。
如果您只需要將值作爲字典使用objects.values('')。它也更快。
看到文檔:http://docs.djangoproject.com/en/dev/ref/models/querysets/#values-fields
在Django 1.8: 使用values_list
Entry.objects.values_list('id', 'headline')