Select all objects with filters passed as kwargs.   
            For each object it's main image instance is accessible as ``object.main_image``.
            Results can be limited using ``limit`` parameter.
            Selection is performed using only 2 or 3 sql queries.

def select_with_main_images(self, limit=None, **kwargs):
        ''' Select all objects with filters passed as kwargs.   
            For each object it's main image instance is accessible as ``object.main_image``.
            Results can be limited using ``limit`` parameter.
            Selection is performed using only 2 or 3 sql queries.            
        '''
        objects = self.get_query_set().filter(**kwargs)[:limit]
        self.image_model_class.injector.inject_to(objects,'main_image', is_main=True)
        return objects