码迷,mamicode.com
首页 > 数据库 > 详细

flask SQLALchemy外键及约束

时间:2018-02-22 21:30:30      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:gpo   hello   ati   creat   .text   外键   use   mode   ret   

from flask import Flask,session
from flask_sqlalchemy import SQLAlchemy
import config

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)   #zhiding 100 zifu
    content = db.Column(db.Text,nullable=False)
    # 这里要与相关联的表的类型一直, user.id 表示关联到user表下的id字段
    author_id = db.Column(db.Integer,db.ForeignKey(user.id))
   
   #给这个article模型添加一个author属性(关系表),backref为定义反向引用,可以通过‘User.article’这个模型(表)访问这个表的所有内容 author
= db.relationship(User,backref=db.backref(articles)) db.create_all() @app.route(/) def index():
  #添加数据
user1 = User(username="test_flask2") db.session.add(user1) article = Article(title=‘eeee‘,content=‘cfffff‘,author_id=1)      #注意,这里的author_id必须存在,即user表下的id字段的内容必须存在 db.session.add(article) db.session.commit()

   #查询数据---常规方法 article = Article.query.filter(Article.title=="eeee").first() author_id = article.author_id user = User.query.filter(User.id==author_id)      #获取user表的所有数据 print (user.username)    #获取User表下的username字段的内容
#通过sqlalchemy实现查询数据
   article = Article.query.filter(Article.title=="eeee").first()
   print (article.author.username)  #打印name字段的内容,

user = User.query.filter(User.username=="test_flask3").first()
   print (user.articles)        #查询所有的文章,这里需要注意的是这里的articles要与 article表下author字段里的backref设定的articles 字符串相同
return Hello World! if __name__ == __main__: app.run(host=192.168.132.130,debug=True)

 

flask SQLALchemy外键及约束

标签:gpo   hello   ati   creat   .text   外键   use   mode   ret   

原文地址:https://www.cnblogs.com/FRESHMANS/p/8459716.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!