1
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
인스턴스가 먼저 저장되고 상위 인스턴스가 아직 저장되지 않은 경우 어떻게됩니까? 예외가 발생하거나 허용됩니까?상위/하위 엔티티를 모두 비동기 적으로 저장할 때 상위 엔티티를 처리하는 방법은 무엇입니까?
id/key_name을 수동으로 할당하면 부모 앞에 안전하게 자식을 만들 수 있습니다. –
@TimHoffman 질문을 업데이트하고 ID를 삽입하는 방법을 추가했습니다. 이 경우 나는 안전해야합니다. – Houman
예, 상위 키가 자동으로 생성되지 않으면 항상 상위 키의 전체 키를 갖게됩니다. 그것이 아이들을 처음부터 쓰지 못하게하는 유일한 방법입니다. –