No, see how I outlined it above.

You need to adapt both functions, transform and fulltext - so that transform *never* returns False. It must return either an S3ResourceQuery or None, and so should fulltext() - can't you see that False breaks it?