peewee基本操作--增删改查

前言

peewee是一个轻量级的ORM框架。使用参考官网

基础理论

Peewee中Model类、fields和model实例与数据库的映射关系如下:
在这里插入图片描述
即:一个Model类代表一个数据库的表,一个Field字段代表数据库中的一个字段,而一个model类实例化对象则代表数据库中的一行

创建model,建立数据库

创建model有两种。第一种:先定义Model,然后通过db.create_tables()创建或Model.create_table()创建表。

class BaseModel(Model):
    class Meta:
        database = database

class XXX(BaseModel):
    id= CharField()
    name= CharField()
    passwd = CharField(column_name='assert', null=True)
   

    class Meta:
        table_name = 'xx'

其中,CharField为数据类型,更多参考使用参考官网。xx代表model名和table名。
第二种:已经存在过数据库,则直接通过python -m pwiz批量创建Model。

python -m pwiz -e mysql -H host_ip -p 端口 -u 用户名 -P 密码 库名 > 保存位置

操作数据库

p=model_name(name='sanzhang', passwd='123456', is_relative=True)
p.save()

model_name.delete().where(model_name.name == 'sanzhang').execute()

p= model_name.update({model_name.name:'sili'}).where(Person.name == 'sanzhang')
p.execute()

p= p.select().where(model_name.name== 'sili')

查询model格式结过字典化

from datetime import datetime,date
from playhouse.shortcuts import model_to_dict
def json_serial(obj):
    if isinstance(obj,(datetime,date)):
        return obj.isoformat()
    raise TypeError('type %s not serializable'%type(obj))
p=json.dumps(model_to_dict(p,backrefs=True),default=json_serial)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

$团长$

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值