侧边栏壁纸
  • 累计撰写 218 篇文章
  • 累计创建 59 个标签
  • 累计收到 5 条评论

Django JSONField Query

barwe
2023-10-09 / 0 评论 / 0 点赞 / 842 阅读 / 444 字
温馨提示:
本文最后更新于 2023-10-09,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

假设有如下模型:

from django.db import models

class Nt(models.Model):
    extradata = models.JSONField(default=dict)

extradata 字段中存储了 nt 数据的额外信息,它是一个字典。
常用的 Django ORM 查询方式:

筛选 包含指定键值对 的数据:

Nt.objects.filter(extradata__contains={"host": "Homo sapiens"})

筛选 存在指定键 的数据:

Nt.objects.filter(extradata__has_key="host")

多个键时用 Q 函数即可:

from django.db.models import Q

Nt.objects.filter(Q(extradata__has_key="host") | Q(extradata__has_key="sample_name"))
0

评论区