Django应用程序,为查询集提供like和ilike查找功能
项目描述
django-like
信息
django-like是一个Django应用程序,它添加了其他有用的字段。
它根据GNU较少通用公共许可证 <https://gnu.ac.cn/licenses/lgpl.html> 分发
需求
Django (>=1.1). 它可能与1.1以下的版本一起工作
安装
要使用Django 1.4、1.5或1.6的“like/ilike查找”,您需要安装django_like(此应用程序进行猴子补丁),或者修补您的Django。
要使用Django 1.3、1.2或1.1的“like/ilike查找”,您需要安装django_like(此应用程序进行猴子补丁),您也可以修补您的Django,但我没有制作补丁,但这将非常容易。您只需查看猴子补丁并进行更新,或者您可以看到其他补丁并更新类似的内容。
要使用Django 1.7的“like/ilike查找”,您只需安装django_like,但现在此应用程序 不进行猴子补丁。现在Django提供了一个API来完成此操作。
在您的settings.py中
INSTALLED_APPS = ( 'django_like', )
- 或应用以下补丁之一(这不是必需的,您只需安装应用程序)
用法
您可以使用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$')
本应用提供了两个新的查找功能:like和ilike。
现在您可以通过like和正则表达式多次比较执行相同查询所需的时间。
python manage.py benchmark_like
以下是我机器上执行benchmark_like的结果。
类型 & 结果 \ 数据库 |
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 |
?:??:??.?????? |
改进 |
254% |
600% |
503% |
???% |
报告
开发
您可以通过克隆其仓库来获取django-like的最新版本。
git clone git://github.com/goinnn/django-like.git
示例项目
在源代码树中,您会找到一个名为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_like使用查找API。
0.1.0 (2013-12-20)
添加示例项目
添加测试(针对SQLite、MySQL和PostgreSQL)
与travis和coveralls集成
Python2.6兼容(benchmark_like)
为Django 1.6添加补丁
0.0.7 (2013-09-11)
添加许可证文件
0.0.6 (2013-09-10)
修复README中的错误
0.0.5 (2013-08-14)
修复README中的错误
0.0.4 (2013-08-14)
改进README
修复一些小错误
Python3兼容
Django 1.5兼容
- 感谢
0.0.3 (2012-02-14)
修复readme中的断链
0.0.2 (2012-02-13)
添加基准命令
0.0.1 (2011-12-28)
第一个django-like版本
项目详情
django-like-0.2.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 71022f8f356a694b84470b2125b1f72e9aebc048b4205a391e37d1a915ebeb1e |
|
MD5 | 1059c11074597e3ff7c39a2082049df9 |
|
BLAKE2b-256 | 84cc8697c4c6af8652bb301ada97e0b04aa5a9e7a4aa6c67181d0edb6a9af193 |