python3的一个简单mysql orm
Pmorm的Python项目详细描述
中文-Chinese
py-python3的一个简单mysql orm
功能概述
- 面向模型的操作
- 基本积垢
- 操作员查询
- 自动安全逃生
安装
shell>pip install Pmorm
基本
frompmormimportMysql# Create a connection.Automatically create database(if it is not created)db=Mysql('localhost','root','your-password','testdb1')classWorker(db.Model):__table__='worker'id=db.PrimaryKeyField()username=db.VarcharField(max_length=32,nullable=False,unique=True,default=None,comment="Worker's username")password=db.VarcharField(max_length=32,nullable=False,unique=False,default=None,comment="Worker's password")salary=db.FloatField(nullable=False,unique=False,default=0.0,comment="Worker's monthly salary")Worker.create_table()# Insertjack=Worker(username='Jack',password='JackSoHandsome',salary=3999.2)jack.insert()mary=Worker()mary.username='Mary'mary.password='MarySoBeautiful'mary.insert()# Get all and get the firstall_workers=Worker.select().all()the_first_worker=Worker.select().first()# Query by operatorsrich_workers=Worker.select(Worker.salary>=3000.0).all()# Complex query by operators & and |worker_jack=Worker.select(((Worker.username=='jack')&(Worker.password=='JackSoHandsome'))|(Worker.salary=='3999.2')).first()# Order the rowsthe_richest_worker=Worker.select(orders=[-Worker.salary]).first()# Use the resultforworkerinall_workers:print('username:{} password:{} salary:{}'.format(worker.username,worker.password,worker.salary))print('And the richest worker is {}'.format(the_richest_worker.username))# Update one rowworker_jack.salary=3000.0worker_jack.update()# Delete one rowworker_jack.delete()
否则
当前支持的MySQL字段
Pmorm | Mysql |
---|---|
PrimaryKeyField | NO |
BooleanField | BOOLEAN |
IntField | INT |
BigIntField | BIGINT |
FloatField | FLOAT |
DoubleField | DOUBLE |
VarcharField | VARCHAR |
TextField | TEXT |
PrimaryKeyField必须在每个模型中定义,因此基本模型看起来像
mydb=Mysql('localhost','root','your-passwd','your-database')classModelName(mydb.Model):__table__='mytable'id=mydb.PrimaryKeyField()# Other fields...