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

yipeiwu_com6年前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清除指定目录内所有文件中script的方法

本文实例讲述了python清除指定目录内所有文件中script的方法。分享给大家供大家参考。具体如下: 将脚本存储为stripscripts.py 调用语法 : python stri...

Python 的类、继承和多态详解

类的定义 假如要定义一个类 Point,表示二维的坐标点: # point.py class Point: def __init__(self, x=0, y=0): s...

Python的迭代器和生成器

先说迭代器,对于string、list、dict、tuple等这类容器对象,使用for循环遍历是很方便的。在后台for语句对容器对象调用iter()函数,iter()是python的内置...

opencv python统计及绘制直方图的方法

opencv python统计及绘制直方图的方法

灰度直方图概括了图像的灰度级信息,简单的来说就是每个灰度级图像中的像素个数以及占有率,创建直方图无外乎两个步骤,统计直方图数据,再用绘图库绘制直方图。 统计直方图数据 首先要稍微理解一些...

python 调用HBase的简单实例

新来的一个工程师不懂HBase,java不熟,python还行,我建议他那可以考虑用HBase的thrift调用,完成目前的工作。 首先,安装thrift 下载thrift,这里,我用的...