1
我試圖將數據從Facebook的圖形查詢,返回位置信息的格式保存:Django模型CharField空字符串開始保存爲('',)?
friend: {
location: {
id: "106078429431815",
name: "London, United Kingdom"
},
}
或站點關鍵是完全丟失,如果用戶沒有設置該變量,或者它的設置到'空'。
在模型中的位置字段被定義爲:
location = models.CharField(max_length=255, blank=True, null=True)
我使用下面的代碼,這迎合了初始查詢以創建記錄,以及更新存儲在所述模型中的數據以防萬一值改變未來:
friend = get_facebook_friend(friend_id=friend_id)
try:
location_name = data['location'].get('name', '')
except:
location_name = ''
if friend:
friend.name = data['name']
friend.location = location_name,
friend.full_clean()
friend.save()
else:
friend = Friend(
name=data['name'],
location=location_name)
friend.full_clean()
friend.save()
這似乎是工作得很好了第一說明書,其在數據庫中存儲值的位置列:
- 'London, United Kingdom'
- ''
- NULL
但是在後續的更新,這是存儲奇怪的結果數據庫表,例如:
(u'London, United Kingdom',)
('',)
(None,)
此相同的行爲是不是在其他CharFields從Facebook存儲串觀察查詢
我挺困惑的D:,求助!
哎呀!非常感謝 :) – DanH