Django应用程序,提供查询集的like和ilike查找
django-like的Python项目详细描述
内容
django-like
Information
django like是添加其他有用字段的django应用程序。
它是根据GNU的条款分发的 许可证<;http://www.gnu.org/licenses/lgpl.html>;
Requeriments
- Django(>;=1.1)。这可能适用于1.1以下的其他版本
Installation
- 要在django 1.4、1.5或1.6中使用“like/ilike lookup”,您需要安装django-like(此应用程序进行猴子修补)或修补django。
- 要在django 1.3、1.2或1.1中使用“like/ilike lookup”,您需要安装django-like(此应用程序进行猴子修补),您可以修补django,但我尚未修补,但这将非常简单。您只需要看到monkey补丁并进行相同的更新,或者您可以看到其他补丁并进行大致相同的更新。
- 要在django 1.7中使用“like/ilike lookup”,您只需要安装django-like,但现在这个应用程序不会进行monkey补丁。现在django提供了一个api。
Usage
你可以用like句子做些什么
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')
像这样的东西更快捷,可读性更强:
MyModel.objects.filter(field_name__regex='^xx.*YY.*zz$')
这个应用程序提供了两个新的lookups:like和ilike。
现在,您可以用like和regex多次比较运行同一查询所需的时间
python manage.py benchmark_like
这是在我的机器中执行benchmark_like的结果:
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% | ???% |
Example project
在源代码树中,您将找到一个名为example的目录。它包含 一个使用django-like的易于安装的项目。您可以像往常一样运行它:
python manage.py syncdb --noinput python manage.py loaddata app_data python manage.py runserver
0.2.0 (2014-10-13)
- 支持Django 1.7。
- 对于django 1.7,django喜欢使用查找api
0.1.0 (2013-12-20)
- 添加了示例项目
- 添加了测试(针对sqlite、mysql和postgresql)
- 与Travis和工作服结合使用
- Python2.6兼容(类似于基准)
- 在django 1.6中添加了patche
0.0.7 (2013-09-11)
- 添加许可文件
0.0.6 (2013-09-10)
- 修复自述文件错误
0.0.5 (2013-08-14)
- 修复自述文件错误
0.0.4 (2013-08-14)
- 改进自述文件
- 修复一些错误
- python3兼容
- Django 1.5兼容
- 感谢:
0.0.3 (2012-02-14)
- 修复自述文件中的断开链接
0.0.2 (2012-02-13)
- 添加基准命令
0.0.1 (2011-12-28)
- django like的第一个版本