簡體   English   中英

ndb 雲數據存儲寫入默認命名空間

[英]ndb cloud datastore writes to default namespace

嘗試從 python2 升級到 python3 時,將數據寫入不同的命名空間時出現問題。

代碼一直寫入正確的命名空間,直到 2020 年 5 月 14 日。之后,當嘗試寫入特定命名空間時,它會寫入默認命名空間。 如何解決?

from google.cloud import ndb
client = ndb.Client()

class ActiveTokens(ndb.Model):
    _memcache_timeout = 60
    namespace = user_namespace
    username = ndb.StringProperty(required=True, indexed=True)
    token = ndb.StringProperty(required=True, indexed=True)
    expiry = ndb.IntegerProperty(required=True)
    otp = ndb.IntegerProperty(indexed=True)
    created = ndb.DateTimeProperty(auto_now_add=True, required=True, indexed=True)
    edited = ndb.DateTimeProperty(auto_now=True, required=True)

    @classmethod
    def store(cls, username, token, expiry, otp):
        with client.context():
            obj = ActiveTokens(username=username,
                                    token=token,
                                    expiry=expiry,
                                    otp=otp,
                                    namespace='user'
                                    )
            return obj.put().id()

我今天早上將我的實例部署到雲時開始遇到這個問題。 它沒有發生在我的開發環境中。 盡管在 model 中設置了我的實體,但我的實體仍在 [default] 命名空間下保存。我通過將 google-cloud-ndb 從版本“1.2.1”降級到版本“1.1.2”解決了這個問題。

暫無
暫無

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

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