一、使用ORM的优点
1、隔离数据库和数据库版本之间的差异
2、便于维护
3、ORM会提供防sql注入等功能
4、变量传递式的调用更加简单
5、很多立志不用ORM的项目会自己开发一套ORM
ORM的核心原理是将一张表映射成一个类或者一个对象。
二、peewee的优点
1、目前三种主流ORM django orm、sqlalchemy、peewee。peewee相对来说更加轻量级
2、简单、灵活、声明方式和django的orm接近
3、star数量高,活跃度高
4、文档质量高
三、安装peewee
安装peewee前需要先安装PyMysql,之前博客里面有PyMysql的安装教程,可以参考
三、新建一个peewee工程
可以在External library库中看到peewee的源码
使用peewee新创建表
新建peewee_test.py文件
peewee_test.py
from peewee import * db=MySQLDatabase("spider",host="127.0.0.1",port=3306,user="root",passwd="123456") class Person(Model): name = CharField() birthday = DateField() class Meta: database=db #This model use the "people.db" database table_name = 'users' if __name__ == '__main__': db.create_tables([Person])
执行结果如下:
可以看到peewee生成一张表,默认生成了id,并设置为主键,并且默认所有值为非空。
使用peewee新创建表并设置字段长度
from peewee import * db=MySQLDatabase("spider",host="127.0.0.1",port=3306,user="root",passwd="123456") class Person(Model): name = CharField(max_length=20,null=True) birthday = DateField() class Meta: database=db #This model use the "people.db" database table_name = 'users' if __name__ == '__main__': db.create_tables([Person])
运行结果如下:
可以更新数据库中表的字段长度并设置为可以为NULL
使用peewee新创建表并设置主键
from peewee import * db=MySQLDatabase("spider",host="127.0.0.1",port=3306,user="root",passwd="123456") class Person(Model): name = CharField(max_length=20,primary_key=True) birthday = DateField() class Meta: database=db #This model use the "people.db" database table_name = 'persons' if __name__ == '__main__': db.create_tables([Person])
运行结果如下:
标签:__,name,peewee,db,Person,ORM From: https://www.cnblogs.com/longlyseul/p/18207106