2017-04-07 5 views
0

는 부모 키를 추가에 대한 제한이 없습니다 :같은 종류의 여러 엔티티가 동시에 Google NDB에서 서로 다른 부모를 가질 수 있습니까? 그렇다면 어떻게 유용할까요? 모델 클래스의 선언 동안

class Employee(): 
    name = ndb.StringProperty(required=True) 

class Address(): 
    city = ndb.StringProperty(required=True) 

class Education(): 
    college = ndb.StringProperty(required=True) 

아래와 같이 우리 조상의 경로를 추가하는 현재의 방법은 데이터 저장소에 대한 쓰기 중입니다 그렇다고 이상한 느낌

address1 = Address(parent=employee) 
address2 = Address(parent=education) 

:

employee = Employee() 
employee.put() 

address1 = Address(parent=employee) 

그래서 하나 개를 수행에서 방지 아무것도 없다!

답변

0

예, 부모는 사실상 모든 종류의 엔터티 (또는 None - 독립 실행 형 엔터티, AKA 엔터티 그룹 소유자) 일 수 있습니다.

예제는 이러한 유형의 사용법 중 하나입니다.

유용성은 실제로 응용 프로그램에 따라 다릅니다. 유용하다는 것을 알게된다면, :) 그렇지 않다면 아마 그것을 사용하지 않을 것입니다.

예를 들어, 앱에 기업이나 대학/대학에 대한 엔티티가있을 수도 있습니다.이 엔티티에는 모두 하나 이상의 Address 하위 엔티티가 연결되어 있습니다.

사이드 노트 : 당신이 당신의 수업을한다

  • 는 인스턴스 NDB 엔티티 만들기 위해 ndb.Model 클래스를 상속 : 당신이 통과해야

    class Address(ndb.Model): 
    
  • 을 부모 개체의 자식에 상위 엔티티 자체가 아닌 생성 :

    address1 = Address(parent=employee.key) 
    
+0

아, 네. 사이드 노트에 동의합니다. 어떻게 든 그들을 간과했다. 그러나 제가 물어 보려던 질문은 같은 종류의 서로 다른 두 개체가 서로 다른 부모를 동시에 가질 수 있는지 여부입니다. (질문을 편집 한 적이 있습니다.) –

+0

네 - 그게 답을위한 것입니다 (메모와 별도). –