python - flask-sqlalchemy 怎么設(shè)置json格式的字段
問(wèn)題描述
flask-sqlalchemy 怎么設(shè)置json格式的字段
問(wèn)題解答
回答1:有兩種方法:1.sqlalchemy中PickleType可以對(duì)應(yīng)任何python對(duì)象.2.可以通過(guò)編寫(xiě)方法的方式生成json.
具體代碼如下:
#!usr/bin/env python# coding:utf-8from flask import Flaskfrom flask_sqlalchemy import SQLAlchemyapp = Flask(__name__)app.config[’SQLALCHEMY_DATABASE_URI’] = ’mysql://root:psw@localhost/test_json’app.config[’SQLALCHEMY_TRACK_MODIFICATIONS’] = Truedb = SQLAlchemy(app)class Users(db.Model): __tablename__ = ’users’ user_id = db.Column(db.Integer, primary_key=True) user_info = db.Column(db.PickleType) def __repr__(self):return self.user_infoclass Students(db.Model): __tablename__ = ’students’ student_id = db.Column(db.Integer, primary_key=True) student_name = db.Column(db.String(80), unique=True) student_age = db.Column(db.Integer) student_sex = db.Column(db.String(20)) def to_json(self):json_student = { ’student_id’: self.student_id, ’student_name’: self.student_name, ’student_sex’: self.student_sex, ’student_age’: self.student_age}return json_student def __repr__(self):return ’%r’ % self.student_idif __name__ == '__main__': #-----------------------生成----------------------- USER_INFO = {'name':'nisiwa', 'mail':'2222233333@qq.com'} db.create_all() USER = Users(user_info=USER_INFO) STUDENT = Students(student_name='nisiwa', student_age='28', student_sex='male') db.session.add(USER) db.session.add(STUDENT) db.session.commit() #-----------------------調(diào)用------------------------ user = Users.query.filter_by(user_id=1).first() student = Students.query.filter_by(student_id=1).first() print ’student:’, student.to_json() print ’user:’, user.user_info
結(jié)果如下:
相關(guān)文章:
1. python - 爬蟲(chóng)模擬登錄后,爬取csdn后臺(tái)文章列表遇到的問(wèn)題2. javascript - 求幫助 , ATOM不顯示界面!!!!3. javascript - angular使從elastichearch中取出的文本高亮顯示,如圖所示4. 視頻文件不能播放,怎么辦?5. python bottle跑起來(lái)以后,定時(shí)執(zhí)行的任務(wù)為什么每次都重復(fù)(多)執(zhí)行一次?6. mysql - 分庫(kù)分表、分區(qū)、讀寫(xiě)分離 這些都是用在什么場(chǎng)景下 ,會(huì)帶來(lái)哪些效率或者其他方面的好處7. javascript - ios返回不執(zhí)行js怎么解決?8. javascript - 移動(dòng)端自適應(yīng)9. html5 - HTML代碼中的文字亂碼是怎么回事?10. mysql 查詢(xún)身份證號(hào)字段值有效的數(shù)據(jù)
