假设有如下模型:
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"))
评论区