Getting the superclasses for a python object
Tue, Jun 28, 2011,
100 Words
Zope 2 (and Plone) persistent objects usually have an intricate inheritance tree. Finding what classes an object inherits can be a time consuming task, hunting through the various eggs for the relevant source code. Below is a little snippet that shows how to easily get the list of superclasses:
(Pdb) pp type(ff).mro() (<class 'plone.app.blob.subtypes.image.ExtensionBlobField'>, <class 'archetypes.schemaextender.field.TranslatableExtensionField'>, <class 'archetypes.schemaextender.field.BaseExtensionField'>, <class 'plone.app.blob.field.BlobField'>, <class 'Products.Archetypes.Field.ObjectField'>, <class 'Products.Archetypes.Field.Field'>, <class 'Products.Archetypes.Layer.DefaultLayerContainer'>, <class 'plone.app.blob.mixins.ImageFieldMixin'>, <class 'Products.Archetypes.Field.ImageField'>, <class 'Products.Archetypes.Field.FileField'>, <type 'ExtensionClass.Base'>, <type 'object'>)
Credit goes to the original post where I found this.