2011-04-06 42 views
3

我目前正在测试GAE和我有一些麻烦适应数据存储...新手App Engine数据存储的问题 - 模型和.filter()

给出的示例模式:

class Category(db.Model): 
     name = db.StringProperty() 
     date_time = db.DateProperty(auto_now_add=True) 

    class Link(db.Model): 
     category = db.ReferenceProperty(Category, collection_name='links') 
     name = db.StringProperty() 
     date_time = db.DateProperty(auto_now_add=True) 
     link = db.LinkProperty() 
     type = db.StringProperty(choices=set(["in", "out"])) 

和在不工作代码:

category = Category.get(key) 
link = category.links.filter('type=', 'in').get() 

看来我无法过滤()对所引用的属性... 奇怪的是,category.lin KS是一个Query对象...... 有可能通过category.links迭代和验证财产,但我敢肯定有一个更好的办法...

欢迎任何帮助 在此先感谢

回答

4

你的代码是正确的,只是把type=

link = category.links.filter('type =', 'in').get() 
之间的空间