I disagree, if a developer can't remember what module to use, well, maybe he shouldn't be developing. If we're truly willing to provide a Django-like API, how can we assume that it matches the behavior of a maybe to be developed Django specific implementation? Imagine the horrible situation of having to explain why the elasticutils.contrib.django.F has changed its behavior?

The only solution to to explain to the users that there is an F class, it lives in elasticutils. End of story.