2012-10-01 3 views
2

다음 데이터 모델을 사용하여 일대 다 관계를 만들었습니다. 기본 키와 외래 키는 어떻게 만들 수 있습니까?Google 앱 엔진의 기본 키

class Candidate(db.Model): 
    name = db.StringProperty() 
    lastname = db.StringProperty() 
    email = db.StringProperty() 
    mobno = db.StringProperty() 
    grad = db.StringProperty() 
    pg = db.StringProperty() 
    cloc = db.StringProperty() 
    ploc = db.StringProperty() 

class Skills(db.Model) 
    skillcode=db.IntegerProperty() 
    skillname=StringProperty() 

각 후보에는 많은 기술이 있습니다. 기본 키와 외래 키는 어떻게 만들 수 있습니까?

답변

4

app 엔진 데이터 저장소는 mysql 또는 sqlite와 같은 관계형 데이터베이스처럼 작동하지 않습니다. 스키마가없는 데이터베이스입니다. 모든 모델에 키가 있습니다. 이 키는 id 및/또는 키 이름으로 정의 할 수 있습니다. 모델을 인스턴스화 할 때 key_name을 키워드 인수로 전달할 수 있지만 대부분의 경우 id는 자동으로 할당됩니다.

ReferenceProperty은 외래 키에 해당하는 것으로 볼 수 있습니다. 이 속성은 값으로 다른 모델 인스턴스를 포함 할 수 있으며 키워드 인수를 사용하면 모델의 종류를 지정할 수 있습니다.

appengine의 python 런타임에는 db라는 두 개의 데이터 저장소 모듈과 ndb이라 불리는 ndb를 보자. 더 최신의 API이고 캐싱에 도움이되며 API를 사용하기가 더 쉽다.

관련 문제