使用peewee访问远程MySQL数据库

27

我正在尝试使用Peewee连接到Amazon RDS上的MySQL数据库,但无法使其工作。我对数据库非常陌生,所以可能是我的操作有误,但这是我尝试的内容:

import peewee as pw

myDB = pw.MySQLDatabase(host="mydb.crhauek3cxfw.us-west-2.rds.amazonaws.com",port=3306,user="user",passwd="password",db="mydb")


class MySQLModel(Model):
    """A base model that will use our MySQL database"""
    class Meta:
        database = myDB

class User(MySQLModel):
    username = CharField()

myDB.connect()

它在第二行卡住了,提示__init__() takes at least 2 arguments (1 given)

我错过了什么?为什么它说我只提供了一个参数,当我提供了五个参数?

非常感谢,Alex

1个回答

40

我把它改成了这样,结果它正常工作了:

import peewee as pw

myDB = pw.MySQLDatabase("mydb", host="mydb.crhauek3cxfw.us-west-2.rds.amazonaws.com", port=3306, user="user", passwd="password")

class MySQLModel(pw.Model):
    """A base model that will use our MySQL database"""
    class Meta:
        database = myDB

class User(MySQLModel):
    username = pw.CharField()
    # etc, etc


# when you're ready to start querying, remember to connect
myDB.connect()

谢谢大家, Alex


1
正如您所指出的,max_length=None 是不正确的。应该省略或者使用 max_length=<int>。 - coleifer
你说得对,虽然它在上面的情况下可以工作,但当我尝试使用User.create_table()创建表时,它破坏了代码。我会把它从上面移除。 - Alex S
谢谢!请问连接之后如何执行SELECT * FROM table? - Alexey Kislitsin
如何指定插入数据的表格? - OPV

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接