I investigated and the reason this doesn't work is that `create_method()` is only called when the method is missing. So basically if you have `CustomQuerySet` that overrides `filter()`, and you call `method` rather than targeting it by name you'll always call `QuerySet.filter()` and completely bypass `CustomQuerySet.filter()`.

I hope that makes sense.