|
Base 类 |
|
1 2 3 4 |
class Base(db.Model): __abstract__ = True # create_time = Column('create_time', Integer) status = Column(SmallInteger, default=1) |
Book类
|
1 2 3 4 5 6 7 8 9 10 11 12 |
class Book(db.Model): id = Column(Integer, primary_key=True, autoincrement=True) title = Column(String(50), nullable = False) author = Column(String(30), default='未名') binding = Column(String(20)) publisher = Column(String(50)) price = Column(String(20)) pages = Column(String(20)) pubdate = Column(String(20)) isbn = Column(String(15),nullable=False, unique=True) summary = Column(String(1000)) image = Column(String(50)) |
Gift 类
|
1 2 3 4 5 6 7 8 |
class Gift(Base): id = Column(Integer, primary_key=True) user = relationship('User') uid = Column(Integer, ForeignKey('user.id')) isbn = Column(String(15), nullable=False) # book = relationship('Book') 没有保存书籍的数据 # bid = Column(Integer, ForeignKey('book.id')) launched = Column(Boolean, default=False) |
User类
|
1 2 3 4 5 6 7 8 9 10 11 |
class User(Base): id = Column(Integer, primary_key=True) nickname = Column(String(24), nullable=False) phone_number = Column(String(18), unique=True) email = Column(String(50), nullable=False) confirmed = Column(Boolean, default=0) beans = Column(Float, default=0) send_counter = Column(Integer, default=0) receive_counter = Column(Integer, default=0) wx_open_id = Column(String(50)) wx_name = Column(String(32)) |
本文详细介绍了ORM模型在Python Flask应用中的设计与实现,通过具体的Book、Gift和User类展示了如何使用SQLAlchemy定义数据模型,包括字段类型、外键关联及默认值设置等关键细节。
993

被折叠的 条评论
为什么被折叠?



