gpt4 book ai didi

python - BlobReferenceProperty 和 ReferenceProperty 模型设计

转载 作者:太空宇宙 更新时间:2023-11-04 06:28:15 25 4
gpt4 key购买 nike

我有一个设计问题是 BlobReferenceProperty 基本上是 ReferenceProperty?我应该像 ReferenceProperty 那样进行预取(由 Nick http://blog.notdot.net/2010/01/ReferenceProperty-prefetching-in-App-Engine 建议)吗?

目前我有这样的设计:

class Entry(db.Model):
creator = db.ReferenceProperty(User, required=True, collection_name='entries')
created_at = db.DateTimeProperty(auto_now_add=True)

# image
image_id = db.StringProperty() # key_name for Image
image_url = db.LinkProperty(indexed=False)
width = db.IntegerProperty(default=0, indexed=False)
height = db.IntegerProperty(default=0, indexed=False)


class Image(db.Model):
created_at = properties.DateTimeProperty(auto_now_add=True)
blob = blobstore.BlobReferenceProperty(required=True)
filename = db.StringProperty(indexed=False)
published = db.BooleanProperty(default=False, indexed=True)
width = db.IntegerProperty(default=0, indexed=False)
height = db.IntegerProperty(default=0, indexed=False)

这会更好还是更坏?我已将 blob 移至 Entry。

class Entry(db.Model):
creator = db.ReferenceProperty(User, required=True, collection_name='entries')
created_at = db.DateTimeProperty(auto_now_add=True)

# image
image_blob = blobstore.BlobReferenceProperty(required=False)
filename = db.StringProperty(indexed=False)
image_id = db.StringProperty()
image_url = db.LinkProperty(indexed=False)
width = db.IntegerProperty(default=0, indexed=False)
height = db.IntegerProperty(default=0, indexed=False)

谢谢。

最佳答案

Blobreference 属性类似于 db.ReferenceProperty,不同之处在于实体实际上位于 blobstore 中。因此,预取 ReferenceProperty 也适用于 BlobReferenceProperty。 blobstore.py 还包括 get_value_for_datastore,您可以使用它来预取 blob 实体。

关于您的第二个问题,将 blob 移动到 Entry ,这取决于您的功能。

关于python - BlobReferenceProperty 和 ReferenceProperty 模型设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6109399/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com