我正在尝试创建一个实体,但似乎每次我第一次保存/持久化一个实体时,它都会使用 id 而不是键名来保存它。这是我的代码:
if company.count() < 1:
# save the company
company = Companies(key_name=account)
company.account = account
company.status = status
company.put()
我也在 ndb 上试过这个:
if company.count() < 1:
# save the company
company = Companies()
company.key_name = account
company.account = account
company.status = status
company.put()
另一个观察结果是,如果使用函数,保存数据存储只会创建一个键名get_or_insert
,但如果这是代码,这似乎会编辑现有数据。
company = Companies.get_or_insert(account)
company.account = account
company.status = status
company.put()
两个问题:
- 如果这是一个新的主帐户,是否建议使用
get_or_insert
功能?只要您有一个好的 if 语句,是否建议这样做? - 如果第一个问题的答案是否定的,我们如何在不使用
get_or_insert
函数的情况下进行保存?