数据库对象创建自动连接时,参数默认设置为TRUE
。为了以编程方式管理数据库连接,它的初始值为 False
。
db=SqliteDatabase("mydatabase", autoconnect=False)
数据库类 的connect()方法用于与服务器上的数据库建立连结。
db.connect()
操作结束时关闭连接:
db.close()
如果你尝试打开一个已经打开的连接,Peewee 会引发OperationError。
>>> db.connect()
True
>>> db.connect()
Traceback (most recent call last):
File "", line 1, in
File "c:\peewee\lib\site-packages\peewee.py", line 3031, in connect
raise OperationalError('Connection already opened.')
peewee.OperationalError: Connection already opened.
为避免此错误,请使用reuse_if_open=True作为 connect() 方法的参数。
>>> db.connect(reuse_if_open=True)
False
在已经关闭的连接上调用close()不会导致错误。您可以使用is_closed()方法检查连接是否已关闭。
>>> if db.is_closed()==True:
db.connect()
True
>>>
除了调用 db.close() 之外,还可以将数据库对象用作 context_manager。
from peewee import *
db = SqliteDatabase('mydatabase.db', autoconnect=False)
class User (Model):
user_id=TextField(primary_key=True)
name=TextField()
age=IntegerField()
class Meta:
database=db
db_table='User'
with db:
db.connect()
db.create_tables([User])
酷客网相关文章:
评论前必须登录!
注册