Skip to main content

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>

https://travis-ci.org/goinnn/django-like.png?branch=master https://coveralls.io/repos/goinnn/django-like/badge.png?branch=master https://badge.fury.io/py/django-like.png https://pypip.in/d/django-like/badge.png

Requeriments

  • 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):

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 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:

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-like-0.2.0.tar.gz (9.1 kB view details)

Uploaded Source

File details

Details for the file django-like-0.2.0.tar.gz.

File metadata

  • Download URL: django-like-0.2.0.tar.gz
  • Upload date:
  • Size: 9.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for django-like-0.2.0.tar.gz
Algorithm Hash digest
SHA256 71022f8f356a694b84470b2125b1f72e9aebc048b4205a391e37d1a915ebeb1e
MD5 1059c11074597e3ff7c39a2082049df9
BLAKE2b-256 84cc8697c4c6af8652bb301ada97e0b04aa5a9e7a4aa6c67181d0edb6a9af193

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page