首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

将ndb.PolyModel作为常规实体的祖先--这是个坏主意吗?

将ndb.PolyModel作为常规实体的祖先是一个坏主意。

ndb.PolyModel是Google App Engine中的一个特殊模型,用于实现多态性(Polymorphism)。它允许您在同一实体层次结构中存储不同类型的实体,并且可以方便地查询和操作这些实体。

然而,将ndb.PolyModel作为常规实体的祖先可能会导致一些问题。首先,这样做会使实体层次结构变得复杂,增加代码的维护成本。其次,由于ndb.PolyModel的特殊性,可能会限制您对实体的操作和查询。例如,某些查询可能需要使用特定的多态查询方法,而不是常规的查询方法。

此外,将ndb.PolyModel作为常规实体的祖先可能会导致性能问题。由于多态性的特性,查询可能需要扫描整个实体层次结构,而不仅仅是特定类型的实体。这可能会导致查询速度变慢,并增加资源消耗。

因此,对于常规实体,最好将其设计为单独的实体类,而不是使用ndb.PolyModel。这样可以简化代码结构,提高查询性能,并降低维护成本。

如果您需要实现多态性,可以考虑使用其他方法,例如使用属性来标识实体类型,或者使用多个实体层次结构来表示不同类型的实体。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云云数据库MySQL:https://cloud.tencent.com/product/cdb_mysql
  • 腾讯云云服务器CVM:https://cloud.tencent.com/product/cvm
  • 腾讯云云原生容器服务TKE:https://cloud.tencent.com/product/tke
  • 腾讯云云存储COS:https://cloud.tencent.com/product/cos
  • 腾讯云人工智能AI:https://cloud.tencent.com/product/ai
  • 腾讯云物联网IoT Hub:https://cloud.tencent.com/product/iothub
  • 腾讯云移动开发MPS:https://cloud.tencent.com/product/mps
  • 腾讯云区块链服务BCS:https://cloud.tencent.com/product/bcs
  • 腾讯云元宇宙服务:https://cloud.tencent.com/product/vr
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券