0

错误

TemplateSyntaxError: Caught ReferencePropertyResolveError while rendering: ReferenceProperty failed to be resolved: [u'Image', 12345678L]

楷模

#ModelBase class extends from db.Model

class Article(TaggableModel):
   ...
  image = db.ReferenceProperty(Image, collection_name='image_set')
  image_blob = blobstore.BlobReferenceProperty()

class BlobStoreImage(ModelBase):
   ...
  title = db.StringProperty()
  alt = db.TextProperty(default="")
  blobkey = blobstore.BlobReferenceProperty()

class Image(ModelBase):
   ...
  title = db.StringProperty()
  original = db.BlobProperty()

据我了解,有一篇文章指的是不存在Imageid='12345678L'. 但是,您似乎无法查询 app engine 中的各个字段。鉴于这种情况,我如何通过删除Article与不存在的图像相关联的图像来解决此错误,或者创建具有上述 id 的图像。

我已经尝试过后者,并且服务器返回了 200 代码,但也许我的语法错误。

4

1 回答 1

0

链接的问题既 a)过时,又 b)与您的问题完全无关。当然,您可以通过 ID 查询单个图像,这根本不是 Nick 所说的(仅供参考,他说您不能进行仅获取单个字段而不是整个记录的查询,这在时间,但实际上您现在可以使用投影查询)。

使用普通的 db 查询语法,您可以找到具有相关图像 id 的文章,如下所示:

from google.appengine.ext import db
image_key = db.Key.from_path(u'Image', 12345678L)
article = Article.all().filter('image', image_key).get()

如果这让您感到困惑,您应该去阅读全面的数据存储查询文档

于 2013-04-22T09:13:51.723 回答