Django application that provider the like and ilike lookups for the querysets
Project description
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>
Requeriments
Django (>=1.1). It’s possible that works with other versions lower 1.1
Installation
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):
Usage
Something that you can to do with 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: 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 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
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. It contains a readily setup project that uses django-like. You can run it as usual:
python manage.py syncdb --noinput python manage.py runserver
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:
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.