- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
在 gae 平台上构建了一些应用程序之后,我通常在基本上每个应用程序的数据存储区中使用不同模型之间的一些关系。而且我经常发现自己需要查看同一父项的记录(例如将所有条目与同一父项匹配)
从一开始我就使用 db.ReferenceProperty 来建立我的关系,例如:
class Foo(db.Model):
name = db.StringProperty()
class Bar(db.Model):
name = db.StringProperty()
parentFoo = db.ReferanceProperty(Foo)
fooKey = someFooKeyFromSomePlace
bars = Bar.all()
for bar in bar:
if bar.parentFoo.key() == fooKey:
// do stuff
但最近我放弃了这个方法,因为 bar.parentFoo.key()
每次都会进行一个子查询来获取 Foo。我现在使用的方法是将每个 Foo
键作为字符串存储在 Bar.parentFoo
上,这样我就可以将它与 someFooKeyFromSomePlace
进行字符串比较,并且摆脱所有子查询开销。
现在我开始研究实体组,想知道这是否是更好的方法?我真的不知道如何使用它们。
至于上述两种方法,我想知道使用它们有什么缺点吗?可以使用存储的 key 字符串卷土重来并在 * * * 中咬我。最后但同样重要的是,有没有更快的方法来做到这一点?
最佳答案
提示:
替换...
bar.parentFoo.key() == fooKey
与...
Bar.parentFoo.get_value_for_datastore(bar) == fooKey
为了避免额外的查找,只从 ReferenceProperty
中获取键值
关于python - 实体组、ReferenceProperty 或键作为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5425618/
在我当前的项目中,我有两个模型,版本和评论。两者之间是一对多的关系;每个Version可以有很多Comment,Comment模型有一个ReferenceProperty来记录它属于哪个Version
这是 my previous question 的后续内容。 我使用 ReferenceProperty 设置模型: class User(db.Model): userEmail = db.
我正在尝试了解数据存储中的一对多关系;但我无法理解当模型包含 ReferenceProperty 时如何查询和更新用户记录。假设我有这个模型: class User(db.Model): us
我有一个要存储在内存缓存中的实体列表。这问题是我有他们引用的大型模型ReferenceProperty 也自动存储在内存缓存中。结果,我超出了存储在中的对象的大小限制缓存。 是否有可能阻止 Refer
在 gae 平台上构建了一些应用程序之后,我通常在基本上每个应用程序的数据存储区中使用不同模型之间的一些关系。而且我经常发现自己需要查看同一父项的记录(例如将所有条目与同一父项匹配) 从一开始我就使用
我正在使用谷歌应用引擎,但在编写查询来过滤 ReferenceProperties 时遇到了问题。 例如。 class Group(db.Model): name = db.StringPro
我有一个 AppEngine 应用程序,我正在考虑升级它以使用 NDB 数据库。 在我的应用程序中,我有数百万个具有旧式数据库引用的对象。我想知道将这些 ReferenceProperty 值转换为
我认为这对 Python 来说是微不足道的,但相当新。 我正在尝试使用谷歌应用引擎创建模型。 基本上是从E/R的角度我有 2 个带有连接表的对象(连接表捕获连接的时间点)像这样 Person
是否可以通过db.ReferenceProperty引用self,是否可以构造一个列表? 例如,我有一个 User 类,我想为他/她的 friend 提供一个引用 User 类的属性? 我目前正在使用
有没有办法在不取消引用它指向的实际实体的情况下获取 db.ReferenceProperty 的键(或 ID)值?我一直在研究 - 看起来 key 存储为属性名称前面有一个 _,但我无法让任何代码工作
我有一个设计问题是 BlobReferenceProperty 基本上是 ReferenceProperty?我应该像 ReferenceProperty 那样进行预取(由 Nick http://b
我遇到了一个无法找出根本原因的错误。错误如下:“无法解析 ReferenceProperty:[u'StatusLog',STATUSLOGSID]”。此错误仅偶尔发生,大约一天一次或两次。生成此错误
这段看似完美的 Google App Engine 代码失败并出现 KindError。 # in a django project 'stars' from google.appengine.ext
我希望能够在给定数据存储中模型的 key 的情况下,简单地设置引用属性而不加载模型本身(因为我不需要该信息)。 例如: class Book(db.Model): author = db.St
我在 App Engine (Python) 中遇到 ReferencePropertys 的问题。 为了找点乐子,我正在尝试为文件夹/文件系统建模,但在获取文件夹到引用文件夹时遇到了问题。 我的第一
假设我们有以下模型。 class User(db.Model): username=db.StringProperty() avatar=db.Referenc
如果我在 Python (+ Django) App Engine 应用程序中有以下模型: class Album(db.Model): private = db.BooleanProperty(
在我的 App Engine 应用程序(在 Python 2.7 中,线程安全)中,我希望能够显示关于我的 ChildModel 类型的所有实体的信息。我想我已经让内存缓存正常工作,但是因为 Chil
我目前正在测试我编写的一个小应用程序。我没有足够小心地确保我的数据存储中的数据是一致的,现在我有一个问题,我有一些记录引用不再存在的对象。更具体地说,我有一些具有已分配值的 ReferenceProp
我使用以下代码将我的 appengine 数据存储区序列化为 JSON class DictModel(db.Model): def to_dict(self): return
我是一名优秀的程序员,十分优秀!