records_to_put = []
events_to_put = []
record = Record.get_or_insert(json_record['record_id'], ... )
records_to_put.append(rec)
event = Event.get_or_insert(json_event['event_id'], parent=record.key)
events_to_put.append(event)
ndb.put_multi_async(records_to_put)
ndb.put_multi_async(events_to_put)
Event
将永远是Record
的孩子。由于异步性质,如果首先保存event
实例,而它的父实例尚未保存,会发生什么。它会引发异常还是允许这样做?
答案 0 :(得分:0)
如果记录实体已存在,则此代码不会出现任何问题,因为此实体具有完全形成的密钥。
如果记录实体是新的,则必须先将其放在可以将其密钥用于子实体之前。你会得到一个例外。