前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >peewee优雅的ORM框架-入门

peewee优雅的ORM框架-入门

作者头像
Python研究所
发布2022-06-17 08:39:28
6440
发布2022-06-17 08:39:28
举报
文章被收录于专栏:大飞的部落阁

前言

PythonORM 框架中,比较主流的有 Sqlalchemypeeweepony 等等。但是其中 peeweeDjangoModels 框架很像,如果了解 Django 的同学肯定对 peewee 会很亲切。今天我们就一起走进 peewee 的世界。

peewee 的世界

安装

代码语言:javascript
复制
pip install peewee

创建数据库&表

代码语言:javascript
复制
from peewee import *
from datetime import date
from playhouse.migrate import *

# 如果db不存在,会自动创建
db = SqliteDatabase('pp.db')

class people(Model):
    # 默认会有ID作为主键自增
    name = CharField()
    birth = DateField()
    people_status = BooleanField(default=True)
    class Meta:
        database = db

# connect db
db.connect()

# create table
db.create_tables([
    people,
])

# close db
db.close()

查看数据库

在当前路径下查看是否创建了 pp.db,是否在数据库中创建了 people 表。

创建的db
创建的db
数据库&表在SQLitebrowser中
数据库&表在SQLitebrowser中

CURD-C

代码语言:javascript
复制
# add people
phyger = people(name='phyger1',birth=date(1990,1,1))
phyger.save()

# Too
pp = people.create(name='phyger2',birth=date(1991,1,2))
pp.save()
增加的数据
增加的数据

CRUD-R

代码语言:javascript
复制
# search people
res = people.get_by_id(1)
print('ID为1的数据的name是:',res.name)


# search all (list)
ret = people.select()
for i in ret:
    print(i.id, i.name)

# where

rep = people.select().where(people.name == 'phyger2').get()
print('name为phyger2的ID是:',rep.id)

rea = people.select().where(people.people_status == True)
for i in rea:
    print(i.name)
查询的结果
查询的结果

CRUD-U

代码语言:javascript
复制
# update info
rep = people.select().where(people.name == 'phyger2').get()

# modify status
rep.people_status=False
# don't forget save
rep.save()
# search phyger2's status
res = people.select().where(people.name == 'phyger2').get()
print("phyger2's status is : ",res.people_status)
修改后的结果
修改后的结果
SQLitebrowser中的结果
SQLitebrowser中的结果

CRUD-D

代码语言:javascript
复制
# delete info
res = people.select().where(people.name == 'phyger1').get()
res.delete_instance()
res.save()
刪除后的效果
刪除后的效果

更多内容详见官方文档:

代码语言:javascript
复制
http://docs.peewee-orm.com/en/latest/peewee/quickstart.html

以上就是今天的全部内容了,感谢您的阅读,我们下节再会。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • peewee 的世界
    • 安装
      • 创建数据库&表
        • 查看数据库
      • CURD-C
        • CRUD-R
          • CRUD-U
            • CRUD-D
              • 更多内容详见官方文档:
          相关产品与服务
          数据库
          云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档