nullable=False 不能为空
primary_key=True 主键
ForeignKey('province.id',ondelete='CASCADE',onupdate='CASCADE') 外键;同步更新
unique 不重复写入
Integer 整数
String (size) 有最大长度的字符串
Text 长 unicode 文本
DateTime 表示为 datetime 对象 的时间和日期
Float 存储浮点值
Boolean 存储布尔值
PickleType 存储一个持久化 Python 对象
LargeBinary 存储任意大的二进制数据
class Person(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(50))
addresses = db.relationship('Address', backref='person',
lazy='dynamic')
class Address(db.Model):
id = db.Column(db.Integer, primary_key=True)
email = db.Column(db.String(50))
person_id = db.Column(db.Integer, db.ForeignKey('person.id'))
db.relationship 建立关系
backref='person' 对应的表 你下面用到的 i.person.name 用于反查外键关联的表
查询的结果将包含关联表的数据
如:
person = Person.query.all()
address = Address.query.all()
{% for i in person %}{i.addresses.email}{% endfor %}
{% for i in address %}{{ i.person.name }}{% endfor %}