看起来ndb.polymodel.PolyModel类曾经具有class_name()方法,但据我所知它已被弃用。

我有一个使用polymodel的数据结构,该数据结构的形式为父User类,具有两个子类-Employee和Manager,并且我想在整个过程中进行一些基本检查,以确定User对象是Employee类还是Manager类。

目前,我只是直接调用对象的.__class__.__name__属性,但是我想知道为什么不赞成使用PolyModel.class_name()方法。有没有更好的方法来确定类的继承?

最佳答案

根据上面的注释,您需要的是isinstance(user, Employee) / isinstance(user, Manager)

10-08 00:29