gpt4 book ai didi

google-app-engine - 只有一个实体的跨组交易错误

转载 作者:行者123 更新时间:2023-12-02 01:12:32 25 4
gpt4 key购买 nike

我正在尝试执行下面的代码。有时它工作正常。但有时它不起作用。

@db.transactional
def _add_data_to_site(self, key):
site = models.Site.get_by_key_name('s:%s' % self.site_id)
if not site:
site = models.Site()

if key not in site.data:
site.data.append(key)
site.put()
memcache.delete_multi(['', ':0', ':1'], key_prefix='s%s' %
self.site_id)

我收到错误:

File "/base/data/home/apps/xxxxxxx/1-7-1.366398694339889874xxxxxxx.py", line 91, in _add_data_to_site
site.put()
File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/db/__init__.py", line 1070, in put
return datastore.Put(self._entity, **kwargs)
File "/base/python_runtime/python_lib/versions/1/google/appengine/api/datastore.py", line 579, in Put
return PutAsync(entities, **kwargs).get_result()
File "/base/python_runtime/python_lib/versions/1/google/appengine/api/apiproxy_stub_map.py", line 604, in get_result
return self.__get_result_hook(self)
File "/base/python_runtime/python_lib/versions/1/google/appengine/datastore/datastore_rpc.py", line 1569, in __put_hook
self.check_rpc_success(rpc)
File "/base/python_runtime/python_lib/versions/1/google/appengine/datastore/datastore_rpc.py", line 1224, in check_rpc_success
raise _ToDatastoreError(err)
BadRequestError: cross-group transaction need to be explicitly specified, see TransactionOptions.Builder.withXG

那么,我的问题是:

如果我只更改一个实体 (models.Site),为什么会出现跨组事务错误?

最佳答案

如日志中所述:“需要明确指定跨组事务”。尝试使用

指定它
@db.transactional(xg=True)

代替:

@db.transactional

关于google-app-engine - 只有一个实体的跨组交易错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15776823/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com