(Как) вы можете добавить методы в коллекцию сущностей в Python Google App Engine? - PullRequest
1 голос
/ 17 августа 2010

В GAE-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Экземпляр объекта книги, чтобы получить список с возможностью запроса всех экземпляров Author, которые ссылаются на него.

Я хочу дополнить свойство authors методом.Тривиальным примером, основанным на предыдущем, будет функция, которая возвращает только основных авторов, отсортированных по алфавиту.Какой синтаксис для чего-то подобного?

1 Ответ

0 голосов
/ 24 января 2011

То, что вы ищете, - это один-ко-многим.Нет свойства 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...