Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
213 views
in Technique[技术] by (71.8m points)

Flask-Sqlalchemy 中,db.session.query() 和 model.query有什么区别是什么?

from flask_sqlalchemy import Sqlalchemy

db = Sqlalchemy()

class User(db.Model):
    
    __tablename__ == "test_table"
    
    id = db.Column(db.Integer, primary_key=True, autoincrement=True) 
    nick = db.Column(db.String(255))
    sex = db.Column(db.Boolean(1))
    
    # 第一种方法
    def get_version_one(self):
        return self.query.all()
    
    # 第二种方法
    def get_version_two(self):
        return db.session.query(User).all() 
        
    # 删除数据时,我的处理方式:
    def delete_user(self, uid):
        data = self.query.get(uid)
        if d:
            try:
                db.session.delete(d)
                db.session.commit()
                return Success(msg="ok")
            except Expection as error:
                logger.error(str(error))
                db.session.rollback()
                raise DeleteFailed(msg='sorry')
        return NotFount(msg="xxxx")
            

如上述描述(这只是个事例代码),我使用flask-sqlalchemy时,有两种方法可以打印出所有的User信息,那究竟哪一种更好呢?为什么呢?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

image.png


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share
...