2010-08-17 5 views
1

GAE-python에서 참조 모델을 자식 모델에 할당하여 일대 다 관계를 모델링 할 수 있습니다.(어떻게) Google App Engine python의 엔티티 컬렉션에 메소드를 추가 할 수 있습니까?

class Book(db.Model): 
    title = db.StringProperty() 
class Author(db.Model): 
    book = db.ReferenceProperty(Book, collection_name = 'authors') 
    is_primary = db.BooleanProperty() 
    name = db.StringProperty() 

이 방법, 나는 그것을 참조하는 모든 저자 인스턴스의 쿼리 수 목록을 얻으려면 책 객체 인스턴스의 authors 속성에 액세스 할 수 있습니다.

내가하고 싶은 일은 authors 속성을 메서드로 보완하는 것입니다. 이전 예제를 기반으로하는 간단한 예제는 알파벳순으로 정렬 된 기본 작성자 만 반환하는 함수입니다. 이런 식의 문법은 무엇입니까?

+3

귀하의 질문은 매우 모호합니다. "단체의 수집"이란 무엇을 의미하는지 설명하십시오. 수업을 의미합니까? 이 RPC입니까? 믹스? – Escualo

답변

0

당신이 찾고있는 것은 일대 다 realtionship입니다. db.Referencelist 속성이 없습니다. 아마도 도움이 될 것입니다.

class Book(db.Model): 
    title = db.StringProperty() 
class Author(db.Model): 
    is_primary = db.BooleanProperty() 
    name = db.StringProperty() 

book = Book(title="what is life") 
book.put() 

author1 = Author(parent=book,is_primary=true,name='author1') 
author1.put() 

author2 = Author(parent=book,is_primary=true,name='author2') 
author2.put() 

# from book to authors 
book_authors = Author.all().ancestor(book) 
관련 문제