0

可能重复:
如何为一个对象建模许多 blob?

我有一个名为 Location 的数据存储模型,我希望用户能够上传与该位置相关的大量图像。我知道我可以使用 BlobReferenceProperty 从 Blobstore 引用这些图像,但是如何在不创建更多属性的情况下引用这些属性呢?

我可以创建它们的列表或创建 BlobReferenceProperties 的列表属性吗?

4

2 回答 2

1

与任何基本数据存储支持的类型一样,您可以使用ListProperty.BlobKey

blobRefs = db.ListProperty(blobstore.BlobKey)

请注意:

  1. 列表属性保持顺序。这在某些情况下非常有用。
  2. 整个列表被序列化并存储在实体中。没有办法只得到它的一部分。
  3. 如果属性被索引,那么每个实体都将在索引中获得它自己的条目(或者如果您为升序和降序索引,则为两个)。每个实体最多可以有 5000 个索引条目。
  4. 如果您创建一个具有两个列表属性的复合索引,这将导致索引爆炸
于 2012-09-13T05:59:58.260 回答
0

如果您每个位置可能有超过 5000 张照片,那么这是另一种选择。

  1. 在数据存储区中创建一个 Location 实体和一个 Photo 实体。照片实体应具有对位置实体的引用属性。
  2. 为 blobstore 中的每张照片创建一个数据存储 Photo 对象。
  3. 对于每个 Photo 实体,将 Location 引用属性设置为适当的 Location 对象。
于 2012-09-14T12:40:33.290 回答