簡體   English   中英

如何保存具有值作為對象的字典

[英]How to save a dictionary having value as an object

bin如何在mongiengine中保存這種字典。

{'xnFH8XCJiwMRFu8A': <dropbox.session.OAuthToken object at 0x2e4efd0>,  
 '867s6bnwbg3kc':<dropbox.session.OAuthToken object at 0x2e50610>}

我正在嘗試保存Dropbox訪問令牌。

我在這里先向您的幫助表示感謝。

謝謝您的幫助。

但是得到錯誤InvalidStringData。 不知道我在哪里做錯了。

代碼段如下:

  #TOKEN_STORE is the above dictionary
  dbsession = DBsession.objects.get(oauth_token=oauth_token) # oauth_token is is request

  v = pickle.dumps(TOKEN_STORE, -1)
  print v # this prints proper binary string
  print pickle.loads(v) # this prints proper values

  dbsession.update(set__token_store=v) # this line fails and throws error on  
                                       #InvalidStringData


#DBSession Definition
# me is mongoengine
class DBSession(me.Document):
    oauth_token = me.StringField(required=True)
    token_store = me.BinaryField()

這顯示了如何連接到mongodb以及如何在那里存儲東西。
Plz閱讀: http//docs.mongoengine.org/en/latest/apireference.html#documents

但是,如果您僅使用mongodb,我建議不要使用mongodb。 如果你真的只想以持久的方式保存他的dict並且你只需要從python訪問它你也可以使用shelve http://docs.python.org/2/library/shelve.html

問題更新后更新:

我認為應該是

dbsession.update(set__token_store=pickle.loads(v))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM