30/09/2018, 19:48
Kết nối Peewee với MySQL
Mình đang bắt đầu học cách kết nối CSDL với Python, khi connect ORM peewee tới MySQL thì gặp lỗi sau:
Đây là cái script students.py:
from peewee import *
db = MySQLDatabase('students.db')
class Student(Model):
username = CharField(max_length=255, unique=True)
points = IntegerField(default=0)
class Meta:
database = db
students = [
{'username': 'huyvo',
'points': 10},
{'username': 'duytran',
'points': 5},
{'username': 'hiennguyen',
'points': 5},
{'username': 'tintran',
'points': 1},
{'username': 'hunghuynh',
'points': 2},
{'username': 'cuongtruong',
'points': 3}
]
def add_students():
for student in students:
try:
Student.create(
username=student['username'],
points=student['points']
)
except IntegrityError:
student_record = Student.get(username=student['username'])
student_record.points = student['points']
student_record.save()
def top_student():
student = Student.select().order_by(Student.points.desc()).get()
return student
if __name__ == '__main__':
db.connect()
db.create_tables([Student], safe=True)
add_students()
print("Our top student at the moment is: {0.username}.".format(top_student()))
Bài liên quan
Vấn đề ở đây là chưa connect tới Mysql được, để connect cần có user password.
Để khắc phục vấn đề này, dùng plugin
playhouse
mặc định của peewee luônThấy không ổn thì có thể dùng SQLAlchemy