在django中搜索mysql json字段

jsonLookup的Python项目详细描述


jsonlookup

在django的mysql json字段中搜索

挑战

MySQL在MySQLServer5.7中引入了JSON字段,目前它与jsonfield在数据保存和检索方面工作得很好。搜索只能通过like运算符来完成,这对所有函数都不方便。

目标

为django创建一个新的自定义查找操作符has,它将支持mysql中的json搜索。

安装

安装软件包

$ pip install jsonLookup

注册到jsonfields

fromjsonLookupimporthasLookup,jcontainsLookupJSONField.register_lookup(hasLookup)JSONField.register_lookup(jcontainsLookup)

编写json查询

# Create test objectsUser.objects.create(name="Ahmed",properties={"city":"Giza","Address":{"district":"Ahram","Code":11263}})User.objects.create(name="Mohamed",properties={"city":"Cairo","Address":{"district":"Helipolis","Code":11351}})# Run first queryq=User.objects.filter(properties__has="$.city=Giza")printq[0].name"Ahmed"# Run Second queryq=User.objects.filter(properties__has="$.Address.Code=11351")printq[0].name"Mohamed"

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java ArrayIndexOutOfBoundsException,但不访问任何索引   用JAVA代码复制的奇怪结果   基于当前用户的Java目标目录   运行时错误java scanner不接受中间有空格的两个单词   java Android从editText获取文本   枚举内的java搜索   java自定义布局高度包装内容,而不是使用定义的布局高度   Java 5中引入的Enum类的用途是什么?   excel如何在java swing中查看xls文档   java如何模拟影响对象的void返回方法   Java线程之间的多线程数据交换   JavaSpring引导:库是否会从父应用程序/服务获取依赖关系   java经过一段时间的循环:为什么刚刚写入的数组是空的?   Regex和java忽略引号内的关键字和字符串   oracle我正在从java读取文本文件(逗号作为分隔符)