簡體   English   中英

Gae ndb結構化屬性

[英]Gae ndb structuredproperty

我有這樣的事情:

class Book(ndb.Model):
    date=ndb.DateProperty()
    title=ndb.StringProperty()  
    content=ndb.TextProperty()

class User(ndb.Model):
    username=ndb.StringProperty()
    name=ndb.StringProperty()
    city=ndb.StringProperty() 
    books=ndb.StructuredProperty(Book, repeated=True)

這個想法是讓幾個用戶和每個用戶有幾本不同的書。

一旦我有了用戶對象:

user=User.query(User.username=="pepo").get()

我可以輕松獲得該用戶的書籍列表:

user.books

但是,我怎樣才能獲得按該用戶日期訂購的書籍清單? 或者一般來說,對結構化屬性的任何查詢,但與我實際擁有的用戶有關。

獲得用戶對象后,可以將books屬性視為普通列表。 要排序你可以做:

sorted_books = sorted(user.books, lambda x: x.date)

您可以在內存中進行排序,而不是通過查詢進行排序(雖然我相信您可以通過結構化屬性對User的查詢結果進行排序,但它不會對屬性本身的排序產生任何影響,只是順序其中返回User對象)。

有關如何在Python中對列表進行排序的更多信息,請查看此文章

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM