首页
学习
活动
专区
工具
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
相关搜索:flutter小部件中的静态变量,这是个坏主意吗?授权令牌: Django后端的OAuth,前端调用第三方API。这是个坏主意吗?Java - Vertx -Publish-Subscribe模式:在自己的消费者内部发布消息。这是个坏主意吗?这是最好的方法吗?将标签作为图像添加到产品页面上我可以将props作为函数参数传递吗?或者这是否是一种糟糕的做法?scanf()将'\n'作为前一个scanf()的剩余输入吗?`Datomic.query.EntityMap`可以返回反向实体引用。然而,这种行为超出了我的直接预期。这是个bug吗?成功登录后,用户将重定向到加载SPA的主页。在JWT中使用会话cookie是个坏主意吗?这是将一个数组拆分为两个数组的最有效方法吗?这是更好的编码方式吗?将多个变量设置为字典中一个str(键)的值我在一个实体中有多个OneToMany映射。Hibernate加载第一个对象,即使我没有请求那个对象。这是预期的行为吗?我可以直接将一个大的数据帧作为一个文件进行热处理吗?我可以将xslt模板的结果作为参数传递给另一个模板吗?我可以调用一个函数(而不是模块)吗?我可以将模块的反应值作为函数的参数传递吗?有没有办法将另一个表中的一些字段作为对象存储到实体中?创建一个将List<SObject>转换为Map<SObjectField的方法,将SObjectField作为方法参数的SObject>,有什么建议吗?我有一个数据集,其中的目标变量有15%的空值,我想使用这些空行作为我的测试集,这是可能的吗?我可以将一个向量作为一个initial_sum和一个不同的函数传递给std::accumulate吗?像Python中的CSV那样,将.TXT数据作为一列在行中拆分成'n‘个iten吗?Shiny:当eventReactive函数将另一个eventReactive函数的输出作为输入时,ignoreNULL不工作吗?
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 领券