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

1127次阅读  |  发布于5年以前

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

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8