Django 从 postgres JSON 字段获取值
Django getting values from postgres JSON field
我有一个简单的模型,例如:
class MyModel(models.Model):
data = JSONField()
JSONField data
的结构如下:
{
"name": "Brian",
"skills": [
{"id": 4, "name": "First aid"},
{"id": 5, "name": "Second aid"}
]
}
我想创建一个查询,以获取由数据中 skill
的 id
过滤的 MyModels 列表。
我在这里尝试了几种不同的途径,并且可以在 Python 中完成这项工作,但我很确定在 Django 中有一种方法可以做到这一点;我认为我的 SQL 还不够好,无法弄清楚。
提前干杯。
试试这个
>>> MyModel.objects.filter(data__skills__contains=[{'id':4}, {'id':5}])
有关 JSON 过滤器的更多信息 https://docs.djangoproject.com/en/3.1/topics/db/queries/#querying-jsonfield
我有一个简单的模型,例如:
class MyModel(models.Model):
data = JSONField()
JSONField data
的结构如下:
{
"name": "Brian",
"skills": [
{"id": 4, "name": "First aid"},
{"id": 5, "name": "Second aid"}
]
}
我想创建一个查询,以获取由数据中 skill
的 id
过滤的 MyModels 列表。
我在这里尝试了几种不同的途径,并且可以在 Python 中完成这项工作,但我很确定在 Django 中有一种方法可以做到这一点;我认为我的 SQL 还不够好,无法弄清楚。
提前干杯。
试试这个
>>> MyModel.objects.filter(data__skills__contains=[{'id':4}, {'id':5}])
有关 JSON 过滤器的更多信息 https://docs.djangoproject.com/en/3.1/topics/db/queries/#querying-jsonfield