python ORM 模块peewee(二): 数据库使用的基本流程

#! /usr/bin/env python
# coding: utf-8

# 1. 导入peewee的模块
from peewee import *
from datetime import datetime

# 2. 建立数据库实例
db = MySQLDatabase(
        database = 'test',
        host = 'localhost',
        port = 3306, 
        user = 'test',
        passwd = 'test',
        charset = 'utf8'
        )   
#######################################################################
# 3. 建立数据表的模型
# 4. 先建立基本模型,具体的模型在此基础上继承而来
class BaseModel(Model):
    class Meta:
        # 指定表所在的数据库
        database = db

class User(BaseModel):
    username = CharField(unique=True)


class Tweet(BaseModel):
    user = ForeignKeyField(User, related_name='tweets')
    message = TextField()
    created_date = DateTimeField(default=datetime.now)
    is_published = BooleanField(default=True)

#########################################################################
if __name__ == '__main__':
    try:
        # connect方法不是必须的,但是如果出错可以判断是否是在连接时出的错
        db.connect()
        

        # 5. 创建表,这里有了safe=True选项,会在创建表之前先检查数据库里表是否已经存在,由于创建表的语句往往只需要使用一次,一般建议写入类或者方法中通过具体命令来调用
        # 注意:peewee里面创建表有两个方法, create_tables是`Database`中的方法,创建表时会建立表之间的关系和表的索引,使用`somedb.create_tables([Models], safe=False)`来调用
        # create_table是`Model`中的方法,仅仅创建表本身,而不包含索引和表之间的关系,使用`somemodel.create_table(safe=False)`来调用
        db.create_tables([User, Tweet], safe=True)
        

        # 6. 断开连接 
        db.close()
    except Exception, e:
        print e
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值