2010-08-17 52 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) 
相关问题