【问题标题】:Google App Engine ndb equivalent for modelname_set (backreference property)modelname_set 的 Google App Engine ndb 等效项(反向引用属性)
【发布时间】:2012-04-12 15:20:10
【问题描述】:

Google App Engine's NDB 中是否有 modelname_set(反向引用的属性)的等价物?

在旧数据库中,模型实体具有described the back-reference property as:

反向引用属性的名称默认为modelname_set(模型类的名称为小写字母,并在末尾添加“_set”),并且可以使用ReferenceProperty构造函数的collection_name参数进行调整。

我注意到 NDB db.Model 实例似乎不存在此属性。

NDB 是否具有与反向引用属性等价的属性?

【问题讨论】:

    标签: google-app-engine app-engine-ndb


    【解决方案1】:

    NDB 中没有直接的反向引用属性,因为 NDB 并没有完全使用与原始数据存储客户端相同的范例。您可以使用 KeyProperty 作为前向引用,然后对设置了 KeyProperty 的所有内容使用查询作为后向引用。

    class Comment(ndb.Model)
        source = ndb.KeyProperty()
    
    qry = Comment.query().filter(source=ndb.Key('Source', 'Sandy'))
    

    【讨论】:

    • 谢谢迈克尔。只是好奇,“桑迪”在你的例子中有什么目的?
    • 'Sandy' 只是键的(用户分配的)ID,就像'Source' 是那种。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多