django orm JSONField for mysql

Posted

技术标签:

【中文标题】django orm JSONField for mysql【英文标题】: 【发布时间】:2018-01-18 11:31:06 【问题描述】:

我正在尝试定义一个模型,其中一列是mysql json type。在网络上搜索会得到与 django 的 postgresql 支持 JSONField 类型或 django-jsonfield 相关的建议。

目前django没有办法原生支持mysql的json类型。同样在执行inspectdb 时,mysql 中json 类型的列被分配了TextField 类型,并带有注释This field type is a guess.

如何以支持 json 字段的方式声明我的模型?

【问题讨论】:

【参考方案1】:

更新

从 Django 3.2 开始,它现在支持 JSONField 并且 django-mysql JSONField 现已弃用。


查看django-mysql。

Django-MySQL通过JSONField加上一些JSON数据库函数来支持JSON数据类型和相关函数。

【讨论】:

它是否与普通的 django 模型一起工作,即来自 django.db 的模型? 好的,看看例子。【参考方案2】:

您已经找到django-jsonfield,但这里有一些您可能感兴趣的近期讨论:

https://groups.google.com/forum/#!searchin/django-developers/mysql$20json%7Csort:relevance/django-developers/zfred27yVPg/U-4iNd_aAQAJ

https://groups.google.com/forum/#!searchin/django-developers/mysql$20json%7Csort:relevance/django-developers/sAgYOqBUvgI/aLQH6vx5CAAJ

AFAIK 目前没有任何原生产品,但人们似乎有兴趣开发您正在寻找的东西。

【讨论】:

以上是关于django orm JSONField for mysql的主要内容,如果未能解决你的问题,请参考以下文章

AttributeError:模块 'django.contrib.postgres.fields' 没有属性 'JSONField'

django jsonfield 保存到数据库

Django JSONField 不保存 0 值

Django 1.9 JSONField 更新行为

Django JSONField 过滤

ArrayField 中的 Django JSONField