GAE db 又一驚人的小事實

今天發現當欄位給定預設值時

例如: obj_type = db.StringProperty(default='product')

所影響的不只是未來生成物件時, 該欄位會被賦予預設值
其實已經生成的也是會, 當我新開一個欄位, 並給定一個 default 值時
我去查詢那些既有的物件(當然, 他們還沒有指定新欄位的值)
查詢他們對應欄位的值, 會回傳預設值, 而非 null
但注意去查 GAE 的控制台, 實質上該物件的該欄位並沒有真的存著那個預設值
欄位值還是顯示 <missing>, 但經過實驗, 透過 db 語法去查詢該欄位就是會回傳預設值

留言

熱門文章