有更快的方法吗?

时间:2011-10-12 16:59:49

标签: django django-models

我经常想从一张桌子上抓一个字段。所以我这样做:

tmp = my_model.objects.get(pk=5) //Or some other record...
myVar = tmp.myField

现在myVar拥有我想要的值。这两步过程很烦人。这样做是否有一步到位?

由于

3 个答案:

答案 0 :(得分:4)

myVar = my_model.objects.get(pk=5).myField

答案 1 :(得分:1)

由于你只关心一个领域,我建议:

myVar = my_model.objects.values('myField').get(pk=5)['myField']

无需在数据库上加载过度负载。

答案 2 :(得分:0)

myVar = my_model.objects.filter(pk=5).values_list('myField', flat=True)[0]

我个人认为上面是最优雅的方式。它只会select来自数据库myField并将其传递给myVar