Model.get_or_insert

1 view
Skip to first unread message

J

unread,
Nov 20, 2009, 12:08:38 PM11/20/09
to Google App Engine
I hope there is something obvious I am missing but a call to
get_or_insert() fails in the sandbox (using eclipse on a Windows
desktop)

The offending line is:
pe = PersonEmail.get_or_insert(email)

Class PersonEmail is derived from db.Model.

The error message says:
File "C:\Program Files\Google\google_appengine\google\appengine\ext
\db\__init__.py", line 1064, in get_or_insert
return run_in_transaction(txn)
File "C:\Program Files\Google\google_appengine\google\appengine\api
\datastore.py", line 1885, in RunInTransaction
DEFAULT_TRANSACTION_RETRIES, function, *args, **kwargs)
File "C:\Program Files\Google\google_appengine\google\appengine\api
\datastore.py", line 1982, in RunInTransactionCustomRetries
result = function(*args, **kwargs)
File "C:\Program Files\Google\google_appengine\google\appengine\ext
\db\__init__.py", line 1059, in txn
entity = cls.get_by_key_name(key_name, parent=kwds.get('parent'))
File "C:\Program Files\Google\google_appengine\google\appengine\ext
\db\__init__.py", line 981, in get_by_key_name
return get(*keys)
File "C:\Program Files\Google\google_appengine\google\appengine\ext
\db\__init__.py", line 1180, in get
entities = datastore.Get(keys)
File "C:\Program Files\Google\google_appengine\google\appengine\api
\datastore.py", line 230, in Get
_MaybeSetupTransaction(req, keys)
File "C:\Program Files\Google\google_appengine\google\appengine\api
\datastore.py", line 2053, in _MaybeSetupTransaction
tx = _txes[tx_key]
KeyError: <frame object at 0x04CD6440>

I have never gotten transactions code to run in the sandbox so
wondering if there is some configuration that is needed. If someone
could point me to the right FAQ, I would appreciate it.

Thanks in advance.
Reply all
Reply to author
Forward
0 new messages