我經常想從一張桌子上搶一塊。所以我這樣做:有沒有更快的方法來做到這一點?
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