[英]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.