python flaskフレームワークを使用してデータベースからデータの2つを読み出す(flask+mysql+flask_sqlalchemy)
8220 ワード
前にflaskフレームワークを使用してデータを読み取り、表示する方法を書いた後、sqlachemyの削除変更操作を再整理しました.この文章はすべてのステップを整理して、あなたが持つ価値があります.
1.flask-sqlalchemy、pymysqlモジュール のインストール Flask-SQLAlchemyの紹介 2.Mysqlデータベース の構成 3.モデル定義 4.Flask-SQLAlchemyデータの増加、削除、変更、調査: 1. 増加: 2.クエリ 3.修正 4.削除
ORM:Object Relationship Mapping(モデル関係マッピング). flask-sqlalchemyはORMフレームワークです. ORMのメリット:データベースを操作するのは操作対象と同じで、非常に便利です.1つのテーブルがクラスに抽象化されるため、1つのデータがクラスのオブジェクトに抽象化されます.
article1 = Article(title=‘aaa’,content=‘bbb’) db.session.add(article 1)トランザクションdb.session.commit()
select * from article where article.title=‘aaa’; article1 = Article.query.filter(Article.title == ‘aaa’).first() print ‘title:%s’ % article1.title print ‘content:%s’ % article1.content
変更するデータを検索してarticle 1=Article.query.filter(Article.title == ‘aaa’).first() このデータを修正するには、article 1を修正する必要があります.title = ‘new title’ トランザクションのコミットdb.session.commit()
削除するデータを検索するarticle 1=Article.query.filter(Article.content == ‘bbb’).first() このデータをdbを削除します.session.delete(article1) トランザクションコミットdb.session.commit()
目次:
1.flask-sqlalchemy、pymysqlモジュールのインストール
pip install flask-sqlalchemy pymysql
Flask-SQLAlchemyの紹介
flask-sqlalchemy
:sudo pip install flask-sqlalchemy
を取り付けます.2.Mysqlデータベースの構成
from flask.ext.sqlalchemy import SQLAlchemy
from flask import Flask
''' '''
app = Flask(__name__)
app.config['SECRET_KEY'] ='hard to guess'
# root , ,MySQL 3306, jianshu, \
# http://docs.sqlalchemy.org/en/latest/dialects/mysql.html
app.config['SQLALCHEMY_DATABASE_URI']='mysql+pymysql://jianshu:[email protected]:3306/jianshu'
#
app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN']=True
#
db = SQLAlchemy(app)
3.モデル定義
''' , '''
class Role(db.Model):
#
__tablename__ = 'roles'
#
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(64), unique=True)
user = db.relationship('User', backref='role')
#repr() , , 。
def __repr__(self):
return ' ' .format(self.name)
class User(db.Model):
__tablename__ = 'users'
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(64), unique=True, index=True)
role_id = db.Column(db.Integer, db.ForeignKey('roles.id')
def __repr__(self):
return '' .format(self.username)
4.Flask-SQLAlchemyデータの増加、削除、変更、調査:
1.追加:
article1 = Article(title=‘aaa’,content=‘bbb’) db.session.add(article 1)トランザクションdb.session.commit()
2.照会
select * from article where article.title=‘aaa’; article1 = Article.query.filter(Article.title == ‘aaa’).first() print ‘title:%s’ % article1.title print ‘content:%s’ % article1.content