将ndb.PolyModel作为常规实体的祖先是一个坏主意。
ndb.PolyModel是Google App Engine中的一个特殊模型,用于实现多态性(Polymorphism)。它允许您在同一实体层次结构中存储不同类型的实体,并且可以方便地查询和操作这些实体。
然而,将ndb.PolyModel作为常规实体的祖先可能会导致一些问题。首先,这样做会使实体层次结构变得复杂,增加代码的维护成本。其次,由于ndb.PolyModel的特殊性,可能会限制您对实体的操作和查询。例如,某些查询可能需要使用特定的多态查询方法,而不是常规的查询方法。
此外,将ndb.PolyModel作为常规实体的祖先可能会导致性能问题。由于多态性的特性,查询可能需要扫描整个实体层次结构,而不仅仅是特定类型的实体。这可能会导致查询速度变慢,并增加资源消耗。
因此,对于常规实体,最好将其设计为单独的实体类,而不是使用ndb.PolyModel。这样可以简化代码结构,提高查询性能,并降低维护成本。
如果您需要实现多态性,可以考虑使用其他方法,例如使用属性来标识实体类型,或者使用多个实体层次结构来表示不同类型的实体。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云