标签: referenceproperty

在Google App Engine中,如何在两个相互引用的实体之间使用引用属性?

如果我有两种类型的模型,每种模型互相引用,那么我首先尝试定义的模型说它不能识别引用的其他类型(因为它在文件中进一步定义).例如:

class Author(db.Model):
    most_recent_book = db.ReferenceProperty(Book)

class Book(db.Model):
    author = db.ReferenceProperty(Author)
Run Code Online (Sandbox Code Playgroud)

这将声称无法识别引用的"Book"模型.如果我翻转订单,我会遇到同样的问题(除非它会说"作者"无法识别).我该如何解决这个问题?

google-app-engine referenceproperty

9
推荐指数
1
解决办法
1496
查看次数

如何在GAEJ中建模实体关系?

我想知道 - 一个例子非常感谢 -

如何在Google App Engine for Java中建立关系模型?

-
一对多- 多到多

我在网上搜索过,我发现没有关于Java的所有指南和教程都是关于Python的.

我从这篇文章中了解到,在Python中,关系是使用ReferenceProperty建模的.但是,我在Javadoc引用中没有发现这个类.

此外,在本文中他们讨论了以下内容:

目前,Java用户的工具短缺,主要是由于App Engine的Java平台相对较新.

但是,那是在2009年写的.

最后,我最终使用每个实体的祖先路径建模关系.我发现这个方法存在问题并限制了应用程序的可伸缩性.

你能指导我到Python的ReferenceProperty类的等效Java 类吗?或者,您能否举例说明如何使用Java数据存储区低级API在AppEngine中建模关系.

在此先感谢您的帮助.

java google-app-engine referenceproperty google-cloud-datastore

6
推荐指数
1
解决办法
1559
查看次数

如何仅使用Key设置ReferenceProperty,而不是获取Model

考虑到数据存储区中模型的关键,我希望能够在不加载模型本身的情况下设置referenceproperty(因为我不需要该信息).

例如:

class Book(db.Model):
    author = db.StringProperty()
    title = db.StringProperty()

class Review(db.Model):
    book = db.ReferenceProperty(Book)
    description = db.StringProperty()
Run Code Online (Sandbox Code Playgroud)

假设我已经拥有了一个Book(调用它bookKey)的键,但我没有相应的Book对象本身,有没有办法做相当于

review = Review()
review.description = "It was ok, but I would recommend it for insomniacs."
review.book = bookKey
Run Code Online (Sandbox Code Playgroud)

或者我需要

book = Book.get(bookKey) #I don't want this datastore access
                         #as I don't need the book object.
review = Review()
review.description = "It was ok, but I would recommend it for insomniacs."
review.book = book
Run Code Online (Sandbox Code Playgroud)

我找到了从ReferenceProperty …

google-app-engine referenceproperty google-cloud-datastore

3
推荐指数
1
解决办法
368
查看次数