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
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 ()