Django中模型Model添加JSON类型字段的方法
本文实例讲述了Django中模型Model添加JSON类型字段的方法。分享给大家供大家参考。具体如下:
Django里面让Model用于JSON字段,添加一个JSONField自动类型如下:
class JSONField(models.TextField): __metaclass__ = models.SubfieldBase description = "Json" def to_python(self, value): v = models.TextField.to_python(self, value) try: return json.loads(v)['v'] except: pass return v def get_prep_value(self, value): return json.dumps({'v':value})
之后就直接为Model定义JSONField类型字段了
class Category(models.Model): name = fields.MedialNameField() other= fields.JSONField()
使用很方便:
Category.objects.create(name="C1", other=(1,2,3,4,5))
所有可以被json序列化的类型都可以直接赋值给other字段,很方便吧。
希望本文所述对大家的Python程序设计有所帮助。
相关推荐
-
django model去掉unique_together报错的解决方案
事情是这样的,我有一个存储考试的表 class Exam(models.Model): category = cached_fields.ForeignKeyField(Category) name = models.CharField(max_length=128) date = models.DateField() created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(au
-
Django基础之Model操作步骤(介绍)
一.数据库操作 1.创建model表 基本结构: #coding:Utf8 from django.db import models class userinfo(models.Model): #如果没有models.AutoField,默认会创建一个id的自增列 name = models.CharField(max_length=30) email = models.EmailField() memo = models.TextField() 字段解释: 1.models.AutoField
-
浅谈django model的get和filter方法的区别(必看篇)
django的get和filter方法是django model常用到的,搞清楚两者的区别非常重要. 为了说明它们两者的区别定义2个models class Student(models.Model): name = models.CharField('姓名', max_length=20, default='') age = models.CharField('年龄', max_length=20, default='') class Book(models.Model): student =
-
django模型中的字段和model名显示为中文小技巧分享
简单方法: models.py 复制代码 代码如下: class IceCreamBar(models.Model): title = models.CharField(max_length=200,db_index=True,verbose_name="名称") shell = models.CharField(max_length=100,verbose_name='外皮') filling = models.CharField(max_le
-
Django中模型Model添加JSON类型字段的方法
本文实例讲述了Django中模型Model添加JSON类型字段的方法.分享给大家供大家参考.具体如下: Django里面让Model用于JSON字段,添加一个JSONField自动类型如下: class JSONField(models.TextField): __metaclass__ = models.SubfieldBase description = "Json" def to_python(self, value): v = models.TextField.to_pytho
-
mysql中json类型字段的基本用法实例
目录 前言 基本环境 JSON类型字段常用操作 插入JSON类型数据 查询JSON类型数据 更新JSON类型数据中的特定字段 匹配JSON类型数据中的特定字段 结语 前言 mysql从5.7.8版本开始原生支持了JSON类型数据,同时可以对JSON类型字段中的特定的值进行查询和更新等操作,通过增加JSON类型的属性可以大大的提高我们在mysql表中存储的数据的拓展性,无需每次新增字段时都进行表结构的调整,下面我们不深入讲解底层的实现原理,我们主要来梳理一下我们在日常工作中使用实践 基本环境 my
-
Postgresql数据库中的json类型字段使用示例详解
目录 1. Json概述 2. Postgresql数据库中使用Json类型字段 2.1. 创建表定义字段信息 2.2. 增加 2.3. 查询键值 2.3.1. 查询键 2.3.2. 查询值 2.3.3. where查询条件使用json键值作为条件 PostgreSQL 最重要的文档性数据类型就是JSON了,与 MongoDB 的BSON相比较,PostgreSQL 或许更加强大,因为它能与原有的关系性范式兼容,给数据库存储与维护带来了更多的可行性和便利性. 1. Json概述 JSON 代表
-
Thinkphp5.0 框架使用模型Model添加、更新、删除数据操作详解
本文实例讲述了Thinkphp5.0 框架使用模型Model添加.更新.删除数据操作.分享给大家供大家参考,具体如下: Thinkphp5.0 的使用模型Model添加数据 使用create()方法添加数据 $res = TestUser::create([ 'name' => 'zhao liu', 'password' => md5(123456), 'email' => 'zhaoliu@qq.com' ]); dump($res); 使用save()方法添加数据 $userMod
-
Mysql json类型字段Java+Mybatis数据字典功能的实践方式
目录 前言 应用场景介绍 数据字典案例实践 表结构 实体类 关系映射 泛型擦除问题解决(7.21新增) 效果展示 总结 前言 JSON类型是MySQL5.7.8中新加入的一种数据类型,并在后续版本尤其是MySQL8.0中得到了大幅增强,现在的JSON类型的功能十分强大,合理使用能让我们的开发更加有效! 但本文不准备花篇幅来介绍MySQL的JSON类型字段的相关API,因为官方文档里面写得已经十分详细了,大家如果对MySQL的JSON类型还不怎么了解的话可以看看官方文档: MySQL5.7 JSO
-
django 在原有表格添加或删除字段的实例
一.如果models.py文件为时: timestamp = models.DateTimeField('保存日期') 会提示: (env8) D:\Desktop\env8\Scripts\mysite>python manage.py makemigrations You are trying to add a non-nullable field 'timestamp' to article without a defa ult; we can't do that (the databas
-
MySQL对JSON类型字段数据进行提取和查询的实现
目录 前言 1. 问题现象 2. 解决方案 3. JSON数据查询 3.1 一般基础查询操作 3.2 一般函数查询操作 4. JSON数据新增更新删除 前言 昨天上线后通过系统报警发现了一个bug,于是紧急进行了回滚操作,但是期间有用户下单,数据产生了影响,因此需要排查影响了哪些订单,并对数据进行修复. 1. 问题现象 由于bug导致了订单表的customer_extra_info字段的hasFreightInsurance误更新成了“是”,因此需要查询回滚前一共有多少被误更新为“是”的订单,如
-
MySQL之JSON类型字段的使用技巧分享
目录 准备工作 JSON对象基础操作 JSON数组操作 更多操作 JSON字段在JAVA中的实践 测试环境: MySQL8.0.19 准备工作 CREATE TABLE json_demo ( `id` INT ( 11 ) NOT NULL PRIMARY KEY, `content` json NOT NULL ); INSERT INTO json_demo ( id, content ) VALUES /*这条是数组*/ ( 1, '[{"key": 1, "orde
-
在django中使用apscheduler 执行计划任务的实现方法
对于任何软件开发人员而言,为将来计划任务都是必不可少的工具. 尽管我们创建的许多编程旨在响应明确的触发或用户事件,但定期执行的后台进程也同样重要. "每个星期一早晨更新结果." "每天晚上分批下单." 甚至具有每日请求限制的第三方API也隐式要求这种行为. "我们只能每五分钟请求一次更新." 幸运的是,许多聪明的人已经解决了这个问题,并且不难找到python本地解决方案. Advanced Python Scheduler(APS)是一个很好的选
-
Django 中自定义 Admin 样式与功能的实现方法
自定义 Admin 样式与功能 1 页面修改中文 1.1 语言设置为中文 settings.py LANGUAGE_CODE = 'zh-hans' 修改结果 1.2 应用管理设置为中文 应用/apps.py from django.apps import AppConfig class BbssConfig(AppConfig): name = 'bbs' # 添加下面这句 verbose_name = 'BBS系统' 修改结果 1.3 数据库表设置为中文 应用/models.py class
随机推荐
- javascript 面向对象全新理练之继承与多态
- AngularJS实现全选反选功能
- Java中构造、生成XML简明教程
- Java中Object toString方法简介_动力节点Java学院整理
- linq to sql中,如何解决多条件查询问题,答案,用表达式树!
- php强大的时间转换函数strtotime
- PHP中使用Session配合Javascript实现文件上传进度条功能
- 一个可以找出源代码中所有中文的工具
- 给Python IDLE加上自动补全和历史功能
- 网页木马代码例子(里面的文件是漏洞扫描器,呵呵)
- C++实现二维图形的傅里叶变换
- C#实现洗牌算法
- jquery增加时编辑jqGrid(实例代码)
- awk命令、awk编程语言详细介绍和实例
- 谈谈sqlserver自定义函数与存储过程的区别
- Oracle排名函数(Rank)实例详解
- TextView实现跑马灯效果 就这么简单!
- C#实现的ACCESS数据库操作类完整实例
- 关注jquery技巧提高jquery技能(前端开发必学)
- php 数组的一个悲剧?