Django中模型Model添加JSON类型字段的方法

yipeiwu_com5年前Python基础

本文实例讲述了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程序设计有所帮助。

相关文章

Python利用递归和walk()遍历目录文件的方法示例

Python利用递归和walk()遍历目录文件的方法示例

前言 经常需要检查一个“目录或文件夹”内部有没有我们想要的文件或者文件夹,就需要我们循环迭代出所有文件和子文件夹,Python中遍历指定目录下所有的文件和文件夹,包含多级目录,有两种方法...

Python实现的归并排序算法示例

Python实现的归并排序算法示例

本文实例讲述了Python实现的归并排序算法。分享给大家供大家参考,具体如下: 归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)...

Python break语句详解

Python break语句详解

Python break语句,就像在C语言中,打破了最小封闭for或while循环。break语句用来终止循环语句,即循环条件没有False条件或者序列还没被完全递归完,也会停止执行循环...

用Python编写一个简单的俄罗斯方块游戏的教程

俄罗斯方块游戏,使用Python实现,总共有350+行代码,实现了俄罗斯方块游戏的基本功能,同时会记录所花费时间,消去的总行数,所得的总分,还包括一个排行榜,可以查看最高记录。 排行榜中...

Python 中包/模块的 `import` 操作代码

用实例来说明 import 的作用吧。 创建以下包结构。一个文件夹 cookFish/,下面包含两个文件, __init__.py和cookBook.py。 为什么取这几个名字呢?假设我...