class UserExtension(object): profile = mongo_property('user.profiles', 'email', 'profile') def hack_user(sender, *args, **kwargs): if UserExtension not in sender.__bases__: sender.__bases__ += (UserExtension,) models.signals.pre_init.connect(hack_user, sender=User, dispatch_uid="moprofile_user_patch")