我经常想从一张桌子上抢一块。所以我这样做:有没有更快的方法来做到这一点?
tmp = my_model.objects.get(pk=5) //Or some other record...
myVar = tmp.myField
现在myVar
拥有我想要的值。这两个步骤过程很烦人。是否有一个这样做的一步吗?
感谢
我经常想从一张桌子上抢一块。所以我这样做:有没有更快的方法来做到这一点?
tmp = my_model.objects.get(pk=5) //Or some other record...
myVar = tmp.myField
现在myVar
拥有我想要的值。这两个步骤过程很烦人。是否有一个这样做的一步吗?
感谢
,因为你只关注一个领域,我建议:
myVar = my_model.objects.values('myField').get(pk=5)['myField']
没有必要把你的DB不适当的负荷。
它可能工作,如果它是:_myVar = my_model.objects。 **过滤器**(pk = 5).values('myField')** [0] ** ['myField'] _ – seler
对不起。是的,我的订单已关闭。 “价值”必须在“获得”之前。一旦你打电话给你,你就完成了。 –
myVar = my_model.objects.filter(pk=5).values_list('myField', flat=True)[0]
我个人认为上面是最优雅的方式。它会从select
只有myField
从数据库中,并将其传递到myVar
是否有你需要得到一个独立变量值的原因?通常,您只需在代码中使用'model_instance.field_name'即可,而无需执行第二步。 –
因为使用'model_instance.field_name'是一大堆的输入,如果我需要在一个代码块的十个不同位置的值。简单地分配'Y = model_instance.field_name'使得输入更容易:-) – Garfonzo
我将把一个信息[在此网站] [1] [1]:http://stackoverflow.com/questions/ 1372016/django-models-custom-functions – LPunker