python - JSON 字段 postgres 喜欢

标签 python json django postgresql orm

是否可以使用 not equal but like 运算符过滤 json 字段中的数据?型号:

from django.contrib.postgres.fields import JSONField
from django.db import models


class Dog(models.Model):
    name = models.CharField(max_length=200)
    data = JSONField()

其中数据行:

{"breed": "labrador0", "owner": {"name": "Bob0", "other_pets": [{"name": "Fishy"}]}}

然后我使用 Dog.objects.filter(data__breed='labrador0') 我接收数据,但是如果我想接收 data.breed 像 'labrador%' 这样的所有行 - 我不知道怎么做。

我尝试 Dog.objects.filter(data__breed__contains='labrador') - 没有结果。

在 psql 中,我可以使用 select * FROM polls_dog WHERE polls_dog.data ->> 'breed' like 'labrador4%'; 哪里有办法通过 orm 做到这一点?

最佳答案

试试这个:-

Dog.objects.filter(data__breed__startswith='labrador')

This可能对你有帮助。

关于python - JSON 字段 postgres 喜欢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44720504/

相关文章:

python - 我可以更改 Django 使用的默认表单名称模板吗?

'POST' 数据到 Django 服务器后,Javascript 获取 api 没有得到响应

python - 在列表中搜索字符或字符串(如网站上的查找功能)

python - 在 windows 7 64 的 python 脚本中执行 GLM

java - 我只想解析 json,其中部分是 2 两个。但响应所有 json 文件解析

PHP json 对象具有带有数字键和关联键的重复值

javascript - 弹出窗口的显示 id 按钮不起作用

Python:不想一起工作的列表

python - 如何模拟 do-while 循环?

php - 将 JSON 发布到 PHP 服务器