连接mysql和peewee以及访问表时出现的一些问题

连接mysql和peewee以及访问表时出现的一些问题,mysql,sqlite,orm,python-2.7,peewee,Mysql,Sqlite,Orm,Python 2.7,Peewee,这是我有生以来第一次在linux上进行web开发,在linux机器上运行后,它将被移植到嵌入式系统上。 我在mydb数据库中有一个名为Login的表,带有密码。我使用peewee作为ORM进行连接。 这是我正在运行的脚本 from peewee import * mysql_db = MySQLDatabase('mydb', user='root',passwd='rakesh') class Login(Model): usr_name = CharField() passw

这是我有生以来第一次在linux上进行web开发,在linux机器上运行后,它将被移植到嵌入式系统上。 我在mydb数据库中有一个名为Login的表,带有密码。我使用peewee作为ORM进行连接。 这是我正在运行的脚本

from peewee import *
mysql_db = MySQLDatabase('mydb', user='root',passwd='rakesh')
class Login(Model):
    usr_name = CharField()
    passwd = TextField()

mysql_db.connect()
usr = Login(usr_name="me", passwd='Peewee is cool')
usr.save()
for user in usr.filter(usr_name="me"):
    print usr.title
我已经在mydb数据库(mysql)中创建了一个名为Login的简单表,当我查询和查看时,它似乎还可以

现在,当我运行这段代码时,我得到一个异常

Traceback (most recent call last):
  File "/home/rakesh/Ubuntu One/PDNFlywheels/PDB/access_ex.py", line 53, in <module>
    usr.save()
  File "/usr/local/lib/python2.7/dist-packages/peewee.py", line 1949, in save
    new_pk = insert.execute()
  File "/usr/local/lib/python2.7/dist-packages/peewee.py", line 1355, in execute
    result = self.database.execute(self)
  File "/usr/local/lib/python2.7/dist-packages/peewee.py", line 1446, in execute
    return self.execute_sql(sql, params, commit)
  File "/usr/local/lib/python2.7/dist-packages/peewee.py", line 1449, in execute_sql
    cursor = self.get_cursor()
  File "/usr/local/lib/python2.7/dist-packages/peewee.py", line 1420, in get_cursor
    return self.get_conn().cursor()
  File "/usr/local/lib/python2.7/dist-packages/peewee.py", line 1413, in get_conn
    self.connect()
  File "/usr/local/lib/python2.7/dist-packages/peewee.py", line 1401, in connect
    self.__local.conn = self._connect(self.database, **self.connect_kwargs)
  File "/usr/local/lib/python2.7/dist-packages/peewee.py", line 1541, in _connect
    return sqlite3.connect(database, **kwargs)
OperationalError: unable to open database file
回溯(最近一次呼叫最后一次):
文件“/home/rakesh/ubuntuone/PDNFlywheels/PDB/access_ex.py”,第53行,在
usr.save()
文件“/usr/local/lib/python2.7/dist-packages/peewee.py”,第1949行,保存
new_pk=insert.execute()
文件“/usr/local/lib/python2.7/dist-packages/peewee.py”,执行中的第1355行
结果=self.database.execute(self)
文件“/usr/local/lib/python2.7/dist packages/peewee.py”,第1446行,在execute中
返回self.execute_sql(sql、params、commit)
文件“/usr/local/lib/python2.7/dist packages/peewee.py”,第1449行,在execute_sql中
cursor=self.get_cursor()
文件“/usr/local/lib/python2.7/dist-packages/peewee.py”,第1420行,在get\u游标中
返回self.get_conn().cursor()
文件“/usr/local/lib/python2.7/dist packages/peewee.py”,第1413行,位于get_conn中
self.connect()
文件“/usr/local/lib/python2.7/dist-packages/peewee.py”,第1401行,在connect中
self.\u local.conn=self.\u connect(self.database,**self.connect\u kwargs)
文件“/usr/local/lib/python2.7/dist packages/peewee.py”,第1541行,in\u connect
返回sqlite3.connect(数据库,**kwargs)
操作错误:无法打开数据库文件
正如您在最后一行中看到的,它试图使用sqllite3查找db,但我使用的是mysql。我不明白为什么会这样。
大多数peewee cook书籍、示例和其他解释都使用sqllite,我从未发现任何直接的mysql攻击。

您缺少使用哪个数据库的指令。请阅读文件


您缺少要使用哪个数据库的指令。请阅读文件

mysql_db = MySQLDatabase('mydb', user='root',passwd='rakesh')

class Login(Model):
    usr_name = CharField()
    passwd = TextField()

    class Meta:
        database = mysql_db