2010-08-17 54 views
1

在GAE-python中,您可以通過將引用屬性分配給子模型來建模一對多關係。(How)您可以將方法添加到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 2010-08-17 18:57:59

回答

0

你在找什麼是一對多的關係。沒有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) 
相關問題