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

猜你喜欢

转载自blog.csdn.net/fnms88/article/details/84254776