BlobReferenceProperty和ReferenceProperty模型设计

|| 我有一个设计问题,是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,这取决于您的功能。     
如果您希望条目和图像之间需要一对多的关系,并且希望每个条目都能够匹配许多图像,则可以使用第一个模型。我使用这样的关系:
class Article(db.Model):      
    user=db.UserProperty(verbose_name=\"userid\") 

class Image(db.Model):       
    reference=db.ReferenceProperty(Article,collection_name=\'matched_images\')
    primary_image = blobstore.BlobReferenceProperty() 
    

要回复问题请先登录注册