2010-04-13 3 views
2

one can enforce unique check before putting an object to store이지만 unique 제약 조건이 GAE에서 기본적으로 지원되지 않는 것으로 보입니다.GAE의 데이터 수준에서의 고유 제한 조건

하지만 그건 2009 년 1 월이었습니다. 지금은 어떨까요? 스키마 생성 중에 열에 unique 제약 조건을 지정할 수 있습니까? 즉

class Account(db.Model): 
    name = db.StringProperty() 
    email = db.StringProperty() as unique # something like this 
    @classmethod 
    def create(cls, name, email): 
    a = Account(name=name, email=email) 
    a.put() 
    return a 

답변

4

아니요, 스키마를 만들 때 고유을 지정할 수 없습니다.

이 문제는보고 싶은 경우를 대비하여 here에 있습니다. 아직 features on deck의 목록에는 표시되지 않으므로 처음에 작업 할 다른 기능이있는 것처럼 보입니다.

+4

키 이름 이외의 고유 한 속성을 지원하려면 전역 트랜잭션이 필요하므로 곧 추가 할 것 같지 않습니다. 지금은 키 이름이나 'lookaside'엔티티를 통해 고유성을 구현하는 것은 독자의 몫입니다. –

0

앱 엔진의 데이터 저장소 as described here에서 "고유 제한"을 달성 할 수 있습니다. 이 예제는 Java로 제공되지만 Python에서 동일한 개념을 적용 할 수 있어야합니다.

관련 문제