首页 > 其他分享 >peewee

peewee

时间:2024-05-22 21:19:24浏览次数:8  
标签:__ name peewee db Person ORM

一、使用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

相关文章

  • 爬虫之数据神器10---Peewee实现ORM的核心原理
    前言:继续上一篇:爬虫之数据神器9---Peewee集成Django/Flask框架详解-CSDN博客本章主要讲一些原理方面的东西,帮助大家在项目中可以更好的理解!正文:一、模型定义在Peewee中,模型的定义是通过模型元类(ModelMetaclass)实现的。Peewee利用Python的元类机制,在模型类定义中使......
  • 爬虫之数据神器7---Peewee性能优化技巧指南(1)
    前言继续上一章:https://hsnd-91.blog.csdn.net/article/details/137412359        Peewee是一个流行的Python对象关系映射(ORM)库,它提供了简洁而强大的数据库操作功能。然而,在处理大型数据集或高并发情况下,Peewee的性能可能会受到影响。为了帮助开发人员充分利用Peewee......
  • peewee update和save性能分析
    背景python项目中使用了peewee这款orm框架,在对数据库更新时有两种语法,分别是save和update方法。有同事说从peewee的日志来看,update比save更快,于是做了一个简单的比较实验,看看真实情况如何。基础环境:python:3.8.10peewee:3.16.2数据库:sqlite准备插入1w条数据importdate......
  • peewee 操作 sqlite 锁表问题分析
    在使用pythonorm框架peewee操作数据库时时常会抛出以一个异常,具体的报错就是databaseislocked初步了解是因为sqlite锁的颗粒度比较大,是库锁。当一个连接在写数据库时,另一个连接在想要写任意一张表都会报错。为了解决这个问题,做如下的实验分析问题理论分析SQLite是一......
  • Python之peewee|4-22
    frompeeweeimport*db=MySQLDatabase('my_database',user='xxx',password='P@x',host='xxxxxx',port=3306)classUser(Model):name=CharField()email=CharField()classMeta:......
  • python peewee
    frompeeweeimportMySQLDatabase,ModelfrompeeweeimportCharField,IntegerField,BooleanField#引入随机数据包importrandomfromfakerimportFakerfake......
  • 使用peewee模块操作数据库
    1.简介Peewee是一个PythonORM(Object-RelationalMapping)库,支持SQLite、MySQL、PostgreSQL和Cockroach数据库。在ORM系统中,每个类都映射到底层数据库中的一个表......