flask-sqlalchemy 怎么设置json格式的字段
今天我也碰见这个需求了,PickleType
在mysql
应该是存储为二进制类型。MySQL
从版本5.7开始支持JSON
格式,因此想在flask-sqlalchemy
使用JSON
字段的话,先确保MySQL
版本是否满足要求。
具体代码如下,其中template
字段为JSON
格式
db = SQLAlchemy()
# 表结构
class CompareTemplate(db.Model):
__tablename__ = "compare_templates"
_id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(100), nullable=False)
template = db.Column(db.JSON, nullable=False)
@property
def serialize(self):
return {
'_id': self._id,
'name': self.name,
'template': self.template,
}
# 插入数据
def save_compare():
data = request.get_json()
name = data['name']
template = data['template']
obj = CompareTemplate(name=name, template=template)
db.session.add(obj)
db.session.commit()
Navicat
中查看(navicat版本需要>11)
4 回答4.4k 阅读✓ 已解决
5 回答3.2k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
3 回答3.6k 阅读✓ 已解决
1 回答2.9k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
1 回答4.5k 阅读✓ 已解决
有两种方法:
1.sqlalchemy中PickleType可以对应任何python对象.
2.可以通过编写方法的方式生成json.
具体代码如下:
结果如下: