作为python的初学者,今天学习了如何使用python代码建立一对多的关系,监听器的简单操作
1 |
</code><pre name="code" class="python"><code class="language-python"><pre name="code" class="python">from flask_sqlalchemy import SQLAlchemy db = SQLAlchemy() class Post(db.Model): __tablename__ ='posts' id = db.column(db.Integer,primary_key=True) title = db.column(db.String) body = db.column(db.String) body_html = db.column(db.String) created = db.column(db.DateTime,index=True,default=datetime.utcnow) <span>comments = db.relationship('Comment',backref='post')</span> @staticmethod def <span>on_body_changed</span>(target, value, initiator): if value is None or (value is ''): target.body_html = '' else: target.body_html = markdown(value) <span>db.events.listen(Post.boy,'set',Post.on_body_changed) #监听触发事件 当Post.body被设值的时候,执行on_body_changed()函数</span> class Comment(db.Model): __tablename__ = 'comments' id = db.column(db.Integer,primary_key=True) body = db.column(db.String) created = db.column(db.DateTime,index=True,default=datetime.utcnow) <span> post_id = db.Column(db.Integer,db.ForeignKey('post.id') )</span> |
1 |
1 |
绿色文字:
表Post与表Comment建立一对多的联系
红色文字:
在Post表上 建立监听器