当前位置: 首页 > news >正文

给个网站做填空题做游戏和做网站哪个难

给个网站做填空题,做游戏和做网站哪个难,室内设计师必备的设计软件,企业网站建设开题报告是什么介绍 有时候需要用 Python 直接操作数据库, 手工撸 SQL 倒也不是不能行, 但是总觉得有点背离了 人生苦短, 我用 Python 的初心, 习惯了 SQLAlchemy 的直接操作后, 就变懒了. 但是对于比较简单的数据库操作场景, 再跑一套 SQLAlchemy 又显得有些臃肿, 这次上手轻量 Python ORM …

介绍

有时候需要用 Python 直接操作数据库, 手工撸 SQL 倒也不是不能行, 但是总觉得有点背离了 人生苦短, 我用 Python 的初心, 习惯了 SQLAlchemy 的直接操作后, 就变懒了. 但是对于比较简单的数据库操作场景, 再跑一套 SQLAlchemy 又显得有些臃肿, 这次上手轻量 Python ORM 选手 peewee

上 Demo

# 安装依赖
pip install peewee pymysql faker
from peewee import *
from datetime import datetime
from faker import Faker# 定义数据库连接
db = MySQLDatabase(database="peewee_db", user="root", password="lpwm86", host="debian.lan", port=3306
)# 定义基础模型
class BaseModel(Model):# Peewee 会自动创建一个自动编号的主键 id, 所以没啥特别场景可以不用定义class Meta:database = db# 定义用户模型
class User(BaseModel):login = CharField(unique=True)password = CharField()name = CharField(unique=True)join_date = DateField()# 定义角色模型
class Role(BaseModel):name = CharField()users = ManyToManyField(User, backref="roles")  # backref 后面的名字可以被关联的对象通过 user.roles 方式访问# 用户和角色多对多的映射表
UserRole = Role.users.get_through_model()# 定义文章模型
class Post(BaseModel):title = CharField()content = TextField()author = ForeignKeyField(User)# 连接数据库
db.connect()
print("Db connected.")# 创建数据表
db.create_tables([User, Role, Post, UserRole])
print("Table created.")db.execute_sql("set foreign_key_checks=0")
table: BaseModel
for table in [User, Role, Post, UserRole]:table.truncate_table()print(f"{table._meta.name} truncated")db.execute_sql("set foreign_key_checks=1")# 插入测试数据
faker = Faker()
role_admin: Role = Role.create(name="管理员")
role_normal: Role = Role.create(name="普通用户")admin_user: User = User.create(login="admin", password="admin123", name="管理员", join_date=datetime.now().date()
)
admin_user.roles.add(role_admin)for x in range(0, 10):# 添加用户user = User.create(login=faker.user_name(),password=faker.password(),name=faker.name(),join_date=faker.date_object(),)user.roles.add(role_normal)# 添加测试文章for y in range(0, 10):post = Post.create(title=faker.text(50), content=faker.text(800), author=user)# 查询数据
print("-" * 10)
print("查询所有用户:")
print("-" * 10)
_user: User
for _user in User.select():print(_user.name)print("-" * 10)
print("查询文章总数:")
print("-" * 10)
print(Post.select().count())print("-" * 10)
print("查询所有role.name==普通用户")
print("-" * 10)
_role = Role.select().where(Role.name == "普通用户").get()
for _user in _role.users:print(_user.name)print("-" * 10)
print("查询用户 id==2 的所有文章")
print("-" * 10)
user_2 = User.select().where(User.id == 2)
_post: Post
for _post in Post.select().where(Post.author == user_2):print(_post.title)
http://www.yayakq.cn/news/577905/

相关文章:

  • iis网站右键没有属性网上做名片的网站
  • 太仓新网站优化wordpress怎么分段
  • 沈阳什么行业做网站的最多阿坝网站制作
  • 卖东西的网站怎么做wordpress订阅邮箱
  • 曲沃县做网站公司wordpress 树状目录结构
  • 设计师网站兼职网站开发合同模版
  • 京华建设科技有限公司网站北京app开发公司有哪些
  • 怎么用别人网站做模板网站建设课程概要
  • 外包建站公司wordpress 中国提速
  • 网站主页设计代码网站建设市场行情
  • 昆山建设工程信息网站程序员wordpress模板
  • 哪个网站做视频挣钱深圳互联网公司集中在哪个区
  • 律师网站建设方案移动端的网站模板
  • 中国建设人才服务信息网是正规网站网站说建设中
  • 上海免费网站建站模板网站建设合约具体内容
  • dedecms网站版权信息360搜索引擎下载
  • 网站域名的密码网站目录字典
  • 网页打开速度慢的解决方法南京seo关键词优化预订
  • 站长工具端口查询网站二次备案
  • 站外推广渠道有哪些谷德设计网下载
  • 济南简单的网站制作百度知道官网首页登录入口
  • 怎样做网站手机和电脑通用广东微信网站制作费用
  • 重庆市城市建设综合开发办网站泰安市齐鲁人才网
  • 小猪会飞网站建设app制作免费
  • 营销式网站建设网站建设专业开发公司
  • 网站 微信小程序怎么做电商网店培训
  • 统计网站流量的网站网站后台模板 仿cnzz
  • 本地php网站搭建环境网站建设报价单表格
  • 昆山智能网站开发甘肃机械化建设工程有限公司网站
  • 网站推广员招聘成品软件网站推荐