2013-05-08 2 views
16

Я пытаюсь подключиться к базе данных MySQL на RDS Amazon, используя peewee, и я не могу заставить ее работать. Я новичок в базах данных, так что я, вероятно, делать что-то глупое, но это то, что я пытаюсь:Доступ к удаленной базе данных MySQL с peewee

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)

Что я упускаю? Почему это говорит, что я даю только один аргумент, когда я даю ему пять?

Большое спасибо, Алекс

ответ

26

Я изменил его, чтобы быть, как это, и она работала:

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

+0

Как вы отметили, max_length = Нет не правильно. Должен ли быть опущен или max_length = coleifer

+0

Вы правы, хотя он работал выше, он сломал код, когда я попытался создать таблицы, используя 'User.create_table()'. Я удалю его сверху. –

+0

Спасибо! Не могли бы вы рассказать, как выполнить команду SELECT * FROM table после подключения? –

Смежные вопросы