在今天给项目添加功能的时候,使用了数据库的json类型,发现django的models中没有JSONField类型,只好百度,发现百度中的是很早的信息了(1.1之前的,落后就要挨打!!!)
只好爬梯子看看外面的世界,发现官网中有该标注:https://docs.djangoproject.com/en/2.2/ref/contrib/postgres/fields/#jsonfield
使用(使用的时候可能需要安装依赖 psycopg):
from django.contrib.postgres.fields import JSONField from django.db import models class Dog(models.Model): name = models.CharField(max_length=200) data = JSONField() def __str__(self): return self.name
举个栗子:
>>> Dog.objects.create(name='Rufus', data={ ... 'breed': 'labrador', ... 'owner': { ... 'name': 'Bob', ... 'other_pets': [{ ... 'name': 'Fishy', ... }], ... }, ... }) >>> Dog.objects.create(name='Meg', data={'breed': 'collie', 'owner': None}) >>> Dog.objects.filter(data__breed='collie') <QuerySet [<Dog: Meg>]>
我想知道JsonField 是如何分别根据他的键进行排序的
这个暂时没啥研究,就用过一次,做一下记录