``objects`` is an iterable. Images (or other generic-related model instances)
            will be attached to elements of this iterable.

        ``field_name`` is the attached object attribute name

        ``get_inject_object`` is a callable that takes object in `objects` iterable.
            Image will be available as an attribute of the result of
            `get_injector_object(object)`. Images attached to `get_injector_object(object)`
            will be selected.

        All other kwargs will be passed as arguments to queryset filter function.

        Example: you have a list of comments. Each comment has 'user' attribute.
        You want to fetch 10 comments and their authors with avatars. Avatars should
        be accessible as `user.avatar`::

            comments = Comment.objects.all().select_related('user')[:10]
            AttachedImage.injector.inject_to(comments, 'avatar', lambda obj: obj.user, is_main=True)

def inject_to(self, objects, field_name, get_inject_object = lambda obj: obj, **kwargs):
        '''
        ``objects`` is an iterable. Images (or other generic-related model instances)
            will be attached to elements of this iterable.

        ``field_name`` is the attached object attribute name

        ``get_inject_object`` is a callable that takes object in `objects` iterable.
            Image will be available as an attribute of the result of
            `get_injector_object(object)`. Images attached to `get_injector_object(object)`
            will be selected.

        All other kwargs will be passed as arguments to queryset filter function.

        Example: you have a list of comments. Each comment has 'user' attribute.
        You want to fetch 10 comments and their authors with avatars. Avatars should
        be accessible as `user.avatar`::

            comments = Comment.objects.all().select_related('user')[:10]
            AttachedImage.injector.inject_to(comments, 'avatar', lambda obj: obj.user, is_main=True)

        '''

        try:
            content_type = ContentType.objects.get_for_model(get_inject_object(objects[0]))
        except IndexError:
            return objects

        kwargs.update({self.ct_field: content_type})
        return super(GenericInjector, self).inject_to(objects, field_name, get_inject_object, **kwargs)