python3的一个简单mysql orm

FlagBox的Python项目详细描述


中文-Chinese

flagbox-python3的一个简单mysql orm

功能概述

  • 面向模型的操作
  • 基本积垢
  • 操作员查询
  • 自动安全逃生
  • 死锁重试

安装

shell>pip install flagbox

基本

fromflagboximportMysql# 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字段

FlagBoxMysql
PrimaryKeyFieldNO
BooleanFieldBOOLEAN
IntFieldINT
BigIntFieldBIGINT
FloatFieldFLOAT
DoubleFieldDOUBLE
VarcharFieldVARCHAR
TextFieldTEXT

PrimaryKeyField必须定义为主键。下面是基本定义

mydb=Mysql('localhost','root','your-passwd','your-database')classModelName(mydb.Model):__table__='mytable'id=mydb.PrimaryKeyField()# Other fields...

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java关于设置对象属性的机制   使用安卓 java查找峰值   使用HttpServlet的javarest   jsp使用java。时间带有JSTL的LocalDate<fmt:formatDate>操作   java从命令行运行,名称错误错误   java AppBundlerTask未在信息中创建类路径。普利斯特   字符之间的java匹配文本(避免嵌套)   java从广播接收器关闭活动   java如何将字符串分配给输入字段的内容?   swing java。lang.IllegalArgumentException:必须是StyledEditorKit   java使用两个web服务器部署war。xml   java获得幸运数字   多线程Java volatile是否阻止缓存或强制执行写缓存?   使用AsyncTask()进行java多线程处理:使用wait()和notify()   java如何在每次使用嵌套循环打印字符串时取出最后一个字符   java Tomcat端口重定向在版本6.0.28中不起作用   java为什么Maven总是要下载很多东西   java您的应用程序已使用来自Google Cloud SDK的最终用户凭据进行身份验证,而translate不支持这些凭据。古格里皮斯。通用域名格式   JaVers的java MongoDB文档版本更新问题   java morphia BigDecimal持久性问题