python - flask-sqlalchemy 怎么設置json格式的字段
問題描述
flask-sqlalchemy 怎么設置json格式的字段
問題解答
回答1:有兩種方法:1.sqlalchemy中PickleType可以對應任何python對象.2.可以通過編寫方法的方式生成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':'[email protected]'} 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() #-----------------------調用------------------------ 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
結果如下:
相關文章:
1. node.js - node 客戶端socket一直報錯Error: read ECONNRESET,用php的socket沒問題哈。。2. django - 后臺返回的json數據經過Base64加密,獲取時用python如何解密~!3. 老哥們求助啊4. angular.js - 如何通俗易懂的解釋“依賴注入”?5. 我在centos容器里安裝docker,也就是在容器里安裝容器,報錯了?6. html5 - angularjs中外部模版加載無法使用7. 我的html頁面一提交,網頁便顯示出了我的php代碼,求問是什么原因?8. tp6表單令牌9. css3 - 請問一下在移動端CSS布局布局中通常需要用到哪些元素,屬性?10. ubuntu PPA 更新老是不成功該怎么辦
