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

时间:2022-08-31 18:52:24

本文实例讲述了Django中模型Model添加JSON类型字段的方法。分享给大家供大家参考。具体如下:

Django里面让Model用于JSON字段,添加一个JSONField自动类型如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
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类型字段了

?
1
2
3
class Category(models.Model):
  name = fields.MedialNameField()
  other= fields.JSONField()

使用很方便:

复制代码 代码如下:
Category.objects.create(name="C1", other=(1,2,3,4,5))

 

所有可以被json序列化的类型都可以直接赋值给other字段,很方便吧。

希望本文所述对大家的Python程序设计有所帮助。