2010-08-20 1 views
2

Google App Engine을 사용하려고합니다. 나는이 모델을 가지고있다 :SelfReferenceProperty 질문

def Human(db.Model): 
name = db.StringProperty() 
friends = db.SelfReferenceProperty() 

이 인간은 한 명 이상의 친구를 가지고있다. 그래서, 어떻게 이것을 Google Appengine으로 처리 할 수 ​​있을까요?

답변

5

단순한 다 대다 관계의 경우 키 목록과 함께 ListProperty을 사용하십시오.

추가 메타 데이터를 저장해야하는 경우 모델에 고유 한 관계를 지정하십시오. Friendship. http://code.google.com/appengine/articles/modeling.html

+0

당신이 날 추가 메타 데이터를 저장하는 예를 보여줄 수 @ 모두의

예를 찾을 수 있습니까? 예 : 우정 – ndemir

+0

위의 링크에서 ContactCompany를 찾으십시오. 그것은 마지막 예입니다. 그리고 우정 모델과 동등합니다. –

+1

예제에 관한 한 가지 참고 사항 : 두 모델 간의 다 대다 관계를 모델링합니다. 연락처 및 회사 대신 하나의 모델을 사용하기 때문에 friend1 및 friend2와 같은 것을 갖게됩니다. 일관된 포지셔닝을 결정하는 논리를 원할 수 있습니다. "Bob"과 "Mary"가 친구 인 경우, Bob은 항상 첫 번째 알파벳이므로 friend1입니다. Bob의 우정을 해결하기 위해 2 개의 쿼리를 수행하고 friend1 또는 friend2 인 엔터티를 확인해야합니다. –