The advantage of using `get_lookup` instead of `register_lookup` is that it makes possible to restrict custom implementations of native lookups to `HStoreField` subclasses.

Custom implementation registered through `register_lookup` are used for any kind of field and if another app registers custom implementations of native lookups it could overwrite our implementation because of this code:

    @classmethod
    def register_lookup(cls, lookup):
        if not 'class_lookups' in cls.__dict__:
            cls.class_lookups = {}
        cls.class_lookups[lookup.lookup_name] = lookup

`get_lookup` is also part of the API so it should be as future proof as `register_lookup`:
https://docs.djangoproject.com/en/1.7/ref/models/custom-lookups/#how-django-determines-the-lookups-and-transforms-which-are-used