mysql - 如何在 Django 模型中声明 JSON 字段?
问题描述
我正在寻求创建我的第一个包含 JSON 字段的 Django mySQL 模型。
我已阅读此处的文档,但它们似乎没有展示如何声明包含多个字段(包括 JSON 字段)的模型的示例。我在 Google 和 SO 上进行了很多搜索,但还没有找到示例。
声明一个可以存储这样数据的模型的正确方法是什么?
candy_bar_name='Snickers',
info={
'target_markets': [
{
'market_type': 'type_a',
'included_markets': [array of strings]
},
{
'market_type': 'type_b',
'included_markets': [array of strings]
},
{
'market_type': 'type_c',
'included_markets': [array of strings]
},
],
}
2020 年 2 月 13 日更新
回应@iklinac 的评论——
感谢您的评论。我看到这个:
from django_mysql.models import JSONField, Model
class ShopItem(Model):
name = models.CharField(max_length=200)
attrs = JSONField()
def __str__(self):
return self.name
...但我对此感到困惑:
def __str__(self):
return self.name
具有多个字段的模型如何返回单个字符串?我想这可能是一个在别处定义的模型中定义单个 JSON 字段的类。;)
2020 年 2 月 14 日更新
现在已经通过对这篇文章的评论的帮助解决了这个问题。这有效:
from django_mysql.models import JSONField, Model
class CandyBars(models.Model):
candy_bar_name = models.TextField()
info = JSONField()
解决方案
推荐阅读
- node.js - 如何在 nodejs 中使用工作线程?
- graphql - Apollo GraphQL:解析器和模型之间的服务层
- python - 列索引
- reactjs - recoil__WEBPACK_IMPORTED_MODULE_0___default(...) 不是函数
- c# - MVC:没有 @Html.EditorFor 就无法创建
- wordpress - 其他简码 Wordpress ACF 中的简码
- r - 没有看到外部 csv 数据的测试
- firebase - Flutter:无法在 iOS 模拟器上运行应用程序
- java - 无效的 AES 密钥长度:java 中的 12 个字节
- php - 这里描述的是什么类型的递归?