Metadata-Version: 1.1
Name: django-like
Version: 0.2.0
Summary: Django application that provider the like and ilike lookups for the querysets
Home-page: https://github.com/goinnn/django-like
Author: Pablo Martin
Author-email: goinnn@gmail.com
License: LGPL 3
Description: .. contents::
        
        ===========
        django-like
        ===========
        
        Information
        ===========
        
        django-like is a Django application that adds other useful fields.
        
        It is distributed under the terms of the GNU Lesser General Public
        License <http://www.gnu.org/licenses/lgpl.html>
        
        
        .. image:: https://travis-ci.org/goinnn/django-like.png?branch=master
            :target: https://travis-ci.org/goinnn/django-like
        
        .. image:: https://coveralls.io/repos/goinnn/django-like/badge.png?branch=master
            :target: https://coveralls.io/r/goinnn/django-like
        
        .. image:: https://badge.fury.io/py/django-like.png
            :target: https://badge.fury.io/py/django-like
        
        .. image:: https://pypip.in/d/django-like/badge.png
            :target: https://pypi.python.org/pypi/django-like
        
        
        Requeriments
        ============
        
        * `Django <http://pypi.python.org/pypi/django/>`_ (>=1.1). It's possible that works with other versions lower 1.1
        
        
        Installation
        ============
        
        
        * To use the "like/ilike lookup" with Django 1.4, 1.5 or 1.6 you need to install django_like (this app make a monkey patching) or to patch your Django.
        * To use the "like/ilike lookup" with Django 1.3, 1.2 or 1.1 you need to install django_like (this app make a monkey patching), You could patch your Django but I have not make a patch, but this will be very easy. You only have to see the monkey patch and to update the same, or you could see other patch and update more or less the same.
        * To use the "like/ilike lookup" with Django 1.7 you only need to install django_like but now this application **does not make monkey patching**. Now Django provide an API to do it.
        
        
        
        
        In your settings.py
        -------------------
        
        ::
        
            INSTALLED_APPS = (
        
                'django_like',
        
            )
        
        Or apply some of the next patches (This is not neccesary, you can only install the app):
            * `Django 1.4 <http://github.com/goinnn/django-like/blob/master/patches/patch.r17282>`_
            * `Django 1.5 <https://github.com/goinnn/django-like/blob/master/patches/patch.2847ae>`_
            * `Django 1.6 <https://github.com/goinnn/django-like/blob/master/patches/patch.6691ab>`_
        
        Usage
        =====
        
        Something that you can to do with `like <http://en.wikipedia.org/wiki/Where_(SQL)#LIKE>`_ sentence
        
        ::
        
            MyModel.objects.filter(field_name__like='xx%YY%zz')
            MyModel.objects.filter(field_name__ilike='xx%yy%zz')
            User.objects.filter(username__like='a%in')
        
        It is more quick and more readable that something like this:
        
        ::
        
            MyModel.objects.filter(field_name__regex='^xx.*YY.*zz$')
        
        This app provider two new `lookups <http://docs.djangoproject.com/en/dev/topics/db/queries/#field-lookups>`_: like and ilike.
        
        Now you can compare the time it takes to run the same query, many times, with like and with regex
        
        ::
        
            python manage.py benchmark_like
        
        
        These are a results executing the `benchmark_like <https://github.com/goinnn/django-like/blob/master/django_like/management/commands/benchmark_like.py>`_ in my machine:
        
        ========================== =============== ================= ================= ==============
        Type & result \\ Database  postgres        mysql             sqllite           oracle
        ========================== =============== ================= ================= ==============
        like                       0:00:50.727005  0:00:14.025656    0:01:36.089407    ?:??:??.??????
        regex                      0:01:38.410019  0:02:57.255685    0:09:39.527765    ?:??:??.??????
        Improvement                254%            600%              503%              ???%          
        ========================== =============== ================= ================= ==============
        
        Reported
        ========
        
         * `Stack overflow <http://stackoverflow.com/questions/8644146/django-query-how-to-write-where-field-like-10-8-0>`_
         * `Ticket in Django <https://code.djangoproject.com/ticket/17473>`_
         * `Pull request <https://github.com/django/django-old/pull/99>`_
         * `Post in a blog <http://www.yaco.es/blog/en/contribuciones/2012/02/a-simple-and-impossible-query-in-django/>`_
        
        Development
        ===========
        
        You can get the bleeding edge version of django-like by doing a clone
        of its repository
        
        ::
        
          git clone git://github.com/goinnn/django-like.git
        
        
        Example project
        ===============
        
        In the source tree, you will find a directory called  `example <https://github.com/goinnn/django-like/tree/master/example/>`_. It contains
        a readily setup project that uses django-like. You can run it as usual:
        
        ::
        
            python manage.py syncdb --noinput
            python manage.py loaddata app_data
            python manage.py runserver
        
        
        0.2.0 (2014-10-13)
        ===================
        * Support to Django 1.7.
        * For Django 1.7, django_like use the lookup API
        
        0.1.0  (2013-12-20)
        ===================
        
        * Added example project
        * Added tests (for SQLite, MySQL and PostgreSQL)
        * Integrated with travis and coverals
        * Python2.6 compatible (benchmark_like)
        * Added patche to Django 1.6
        
        
        0.0.7  (2013-09-11)
        ===================
        
        * Add licese file
        
        0.0.6  (2013-09-10)
        ===================
        
        * Fix README typo
        
        0.0.5  (2013-08-14)
        ===================
        
        * Fix README typo
        
        0.0.4  (2013-08-14)
        ===================
        
        * Improve the README
        * Fix a littles bugs
        * Python3 compatible
        * Django 1.5 compatible
        * Thanks to:
            * `Luke Winship <https://github.com/lukuru>`_
        
        0.0.3  (2012-02-14)
        ===================
        
        * Fix a broken link in the readme
        
        0.0.2  (2012-02-13)
        ===================
        
        * Add benchmark command
        
        0.0.1  (2011-12-28)
        ===================
        
        * First version to django-like
        
Keywords: django,querysets,lookup,like,ilike
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Framework :: Django
Classifier: License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 3
