1. 程式人生 > >flask框架學習筆記——SQLAlchemy外來鍵約束

flask框架學習筆記——SQLAlchemy外來鍵約束

from flask import Flask
import config
from flask_sqlalchemy import SQLAlchemy

app = Flask (name)
app.config.from_object(config)
db=SQLAlchemy(app)
class User(db.Model):
tablename=‘user’
id=db.Column(db.Integer,primary_key=True,autoincrement=True)
username=db.Column(db.String(100),nullable=False)
class Article(db.Model):
tablename

=‘article’
id=db.Column(db.Integer,primary_key=True,autoincrement=True)
title=db.Column(db.String(100),nullable=False)
content=db.Column(db.Text,nullable=False)
author_id=db.Column(db.Integer,db.ForeignKey(‘user.id’))
author=db.relationship(‘User’,backref=db.backref(‘articles’))
#執行該主檔案即建立兩張表
db.create_all()

@app.route (’/’)
def index():
#釋出一篇文章首先會依賴使用者,先建立一個使用者
# user1=User(username=‘zhangsan’)
# db.session.add(user1)
# db.session.commit()
# #釋出一篇文章
# article1=Article(title=‘aaa’,content=‘bbb’,author_id=1)
# db.session.add(article1)
# db.session.commit()
# #查詢標題是‘aaa’的作者
# article=Article.query.filter(Article.title==‘aaa’).first()
# author_id=article.author_id
# user=User.query.filter(User.id==author_id).first()
# print(user.username)

# article.author
# author=User.query.filter(User.username=='zhangsan').first()
# author.articles

# article=Article(title='aaa',content='bbb')
# article.author=User.query.filter(User.id==1).first()
# db.session.add(article)
# db.session.commit()
    # #要找文章標題為aaa的這個作者ok
article=Article.query.filter(Article.title=='aaa').first()
print(article.author.username)

# #要找zhangsan這個使用者寫的所有文章
article=Article(title='111',content='222',author_id=1)
db.session.add(article)
db.session.commit()
user=User.query.filter(User.username=='zhangsan').first()
result=user.articles
for article in result:
    print('_'*10)
    print(article.title)

return 'Hello World!'

if name == ‘main’:
app.run ()