Python学习路线介绍Peewee怎么用,SQLAlchemy 功能很强大,文档很丰富,是一个重量级的 ORM 框架。本文给大家介绍一个小清新,轻量级 ORM 框架 Peewee,支持 Python 2.7+ 和 3.4+,支持 SQLite、MySQL 以及 PostgreSQL。如果对 Django 的 ORM 比较熟悉,那么 Peewee 的学习成本会非常低。 安装 pip install peewee 模型定义 from peewee import * db = SqliteDatabase('people.db') class BaseModel(Model): class Meta: database = db class Person(BaseModel): name = CharField(verbose_name='姓名', max_length=10, null=False, index=True) gender = IntegerField(verbose_name='姓别', null=False, default=1) birthday = DateField(verbose_name='生日', null=True, default=None) class Meta: table_name = 'people' 首先定义了我们的模型类Person(用过 Django 的同学一定对这种模型定义方式十分熟悉,跟 Django 中模型的定义十分相似),使用 SqliteDatabase指定了使用的数据库people.db。 然后定义了Person这个表的数据字段,如果不指定主键,peewee会自动帮我们创建一个id的字段作为主键。每一个Field都有几个参数可以配置,长度的大小,是否为空(null)和默认值(default),索引(index)和唯一索引(unique)几个常见的数据库选项。 创建数据库表 Person.create_table() # 或 db.create_tables([Person]) 操作数据库
p = Person(name='tom', gender=1, birthday=date(2000, 1, 1)) p.save() jerry = Person.create(name='jerry', gender=0, birthday=date(1999, 12, 1))
# 删除姓名为 tom 的数据 Person.delete().where(Person.name=='tom').execute() # 已经实例化的对象, 调用 delete_instance() 进行删除操作 p = Person(name='tom', gender=1, birthday=date(2000, 1, 1)) p.save() p.delete_instance()
# 已经实例化的对象,且拥有 id 这个 primary key,则修改属性后,save 即是更新操作 p = Person(name='tom', gender=1, birthday=date(2000, 1, 1)) p.save() p.gender = 0 p.save() # 更新 jerry 的 birthday 数据 q = Person.update({Person.birthday: date(1999, 12, 12)}).where(Person.name=='jerry') q.execute()
# 查询单条数据 p = Person.select().where(Person.name=='tom').get() print(p.name, p.gender, p.birthday) # 使用简写 Model.get() p = Person.get(Person.name=='tom') print(p.name, p.gender, p.birthday) # 查询多条数据 people = Person.select().where(Person.gender==1) for p in people: print(p.name, p.gender, p.birthday) |
|
来自: 好程序员IT > 《Python培训教程》