- 博客(519)
- 资源 (1)
- 收藏
- 关注
原创 【Python百日进阶-Web开发-Peewee】Day285 - Peewee 的扩展(四)Cockroach数据库
文章目录13.7 Cockroach数据库13.7.1 SSL 配置13.7.2 Cockroach 扩展 API13.7.3 CRDB 事务13.7.4 CRDB APIclass CockroachDatabaseclass PooledCockroachDatabaserun_transactionclass UUIDKeyFieldclass RowIDField13.7 Cockroach数据库CockroachDB (CRDB) 得到 peewee 的良好支持。from playhouse
2024-03-18 08:08:41 558
原创 【Python百日进阶-Web开发-Peewee】Day284 - Peewee 的扩展(三)postgreSQL
文章目录13.6.3 使用 hstore13.6.4 间隔支持 Interval support13.6.5 服务器端游标 Server-side cursors13.6.6 全文搜索 Full-text search13.6.7 postgres_ext API 说明ServerSideclass ArrayFieldclass DateTimeTZFieldclass HStoreFieldclass JSONFieldclass BinaryJSONFieldMatchclass TSVectorFi
2024-03-15 15:34:50 931
原创 【Python百日进阶-Web开发-Peewee】Day283 - Peewee 的扩展(二)apsw/sqlcipher/postgresql
文章目录13.4 apsw,一个高级的 sqlite 驱动程序13.4.1 如何使用 APSW 数据库13.4.2 apsw_ext API 说明13.5 Sqlcipher 后端13.5.1 sqlcipher_ext API 说明13.6 Postgresql 扩展13.6.1 JSON 支持13.6.2 hstore 支持13.4 apsw,一个高级的 sqlite 驱动程序该apsw_ext模块包含一个适合与 apsw sqlite 驱动程序一起使用的数据库类。APSW 项目页面:https
2024-03-08 12:45:00 1620
原创 【Python百日进阶-Web开发-Peewee】Day282 - Peewee 的扩展(一)Sqlite 扩展
文章目录Register *all* functions.Alternatively, you can register individual groups. This will justregister the DATE and MATH groups of functions.If you only wish to register, say, the aggregate functions for aparticular group or groups, you can:If you only wis
2024-03-07 12:30:00 1710
原创 【Python百日进阶-Web开发-Peewee】Day281 - SQLite 扩展(六)
文章目录12.2.14 class LSMTable12.2.15 class ZeroBlob12.2.16 class Blob12.3 附加的功能12.2.14 class LSMTableclass LSMTableVirtualModel适合使用lsm1 扩展 的子类lsm1扩展是一个虚拟表,它为来自 SQLite4 的 lsm 键/值存储引擎提供 SQL 接口。笔记LSM1 扩展尚未发布(撰写本文时 SQLite 版本为 3.22),因此请考虑此功能是实验性的,可能会在后续版本中进
2024-03-06 08:19:41 865
原创 【Python百日进阶-Web开发-Peewee】Day280 - SQLite 扩展(五)
文章目录12.2.11 class TableFunction12.2.12 ClosureTable12.2.13 class BaseClosureTable12.2.11 class TableFunctionclass TableFunction实现用户定义的表值函数。与返回单个标量值的简单 标量或聚合函数不同,表值函数可以返回任意数量的表格数据行。简单的例子:from playhouse.sqlite_ext import TableFunctionclass Series(Ta
2024-03-05 10:46:44 998
原创 【学术】知云文献及划词翻译软件(XTranslator)的安装及使用
跨页的段落,可先划选翻译前面部分,然后按住Alt键划选后面内容追加翻译。在您阅读英文文献、word、网页或电子书的时候,可以在打开xtranslator的情况下,鼠标划选需要翻译的段落|句子|单词,软件会快速获取到您划选的文字并给出译文。Xtranslator是一款划选翻译软件,从名字就能看出来,它是知云文献翻译的增强版,共用翻译引擎。Windows系统下载页面,一般用下载地址1就行,其他下载地址有合作方。软件是免费软件,虽设置了打赏途径,但不打赏也可免费使用。上半部分,知云文献翻译,选择对应的电脑系统。
2023-10-18 10:17:07 9426
原创 【Python百日进阶-Web开发-Peewee】Day279 - SQLite 扩展(四)
文章目录12.2.10 class FTSModel12.2.10 class FTSModelclass FTSModel与FTS3 和 FTS4 全文搜索扩展VirtualModel一起使用的子类。FTSModel 子类应该正常定义,但是有几个注意事项:不支持唯一约束、非空约束、检查约束和外键。字段索引和多列索引被完全忽略Sqlite 会将所有列类型视为TEXT(尽管您可以存储其他数据类型,但 Sqlite 会将它们视为文本)。FTS 模型包含一个rowid由 SQLite 自动创建
2023-09-08 07:36:07 432
原创 【Python百日进阶-Web开发-Peewee】Day278 - SQLite 扩展(三)
文章目录12.2.7 class JSONPath12.2.8 class SearchField12.2.9 class FTS5Model12.2.7 class JSONPathclass JSONPath(field[, path=None])参数: field ( JSONField ) – 我们打算访问的字段对象。path ( tuple ) – 组成 JSON 路径的组件。一种方便的 Pythonic 表示 JSON 路径的方式,用于 JSONField.该JSONPath对象
2023-09-07 07:55:07 545
原创 【Python百日进阶-Web开发-Peewee】Day277 - SQLite 扩展(二)
文章目录12.2.6 class JSONField12.2.6 class JSONFieldclass JSONField( json_dumps=None , json_loads=None , ... )适合存储 JSON 数据的字段类,具有旨在与json1 扩展一起使用的特殊方法。SQLite 3.9.0以扩展库的形式添加了JSON 支持。SQLite json1 扩展提供了许多用于处理 JSON 数据的辅助函数。这些 API 作为特殊字段类型的方法公开,JSONField.要访问或修
2023-09-01 07:55:44 302
原创 【Python百日进阶-Web开发-Peewee】Day276 - SQLite 扩展(一)
文章目录十二 SQLite 扩展12.1 入门12.2 APIs12.2.1 class SqliteExtDatabase12.2.2 class CSqliteExtDatabase12.2.3 class RowIDField12.2.4 class DocIDField12.2.5 class AutoIncrementField十二 SQLite 扩展默认SqliteDatabase已经包含许多 SQLite 特定的特性:使用 SQLite 的一般说明。使用 PRAGMA 语句配置
2023-08-31 07:50:47 242
原创 【Python百日进阶-Web开发-Peewee】Day275 - Peewee API文档 - 查询生成器组件
文章目录11.6 Query-builder Internals 查询生成器组件11.6.1 class AliasManager11.6.2 class State11.6.3 class Context11.7 常量和助手11.7.1 class Proxy11.6 Query-builder Internals 查询生成器组件11.6.1 class AliasManagerclass AliasManager管理 SELECT 查询中分配给Source对象的别名,以避免在单个查询中使用多个
2023-08-25 08:04:50 153
原创 【Python百日进阶-Web开发-Peewee】Day274 - Peewee API文档 - 模型(二)class Model
文章目录11.5.5 class Modelclassmethod alias([alias=None])classmethod select(*fields)classmethod update([__data=无[, **update ]])classmethod insert([__data=None[, **insert ]])classmethod insert_many(rows [,fields =None])classmethod insert_from(query,fields)class
2023-08-24 06:53:11 256
原创 【Python百日进阶-Web开发-Peewee】Day273 - Peewee API文档 - 模式管理器、模型(一)
文章目录11.4 模式管理器Creates both tables but does not create the constraint for theLanguage.selected_snippet foreign key (because of the circulardependency).Explicitly create the constraint:11.5 模型Here, instead of defaulting to all columns, Peewee will defaultto
2023-08-23 07:57:41 186
原创 【Python百日进阶-Web开发-Peewee】Day272 - Peewee API文档 - 字段(三)
文章目录11.3.28 class ManyToManyField11.3.29 class DeferredThroughModel11.3.30 class CompositeKey11.3.28 class ManyToManyFieldclass ManyToManyField(model[, backref=None[, through_model=None[, on_delete=None[, on_update=None]]]])参数:model ( Model ) – 要创建关系
2023-08-22 07:55:39 177
原创 【Python百日进阶-Web开发-Peewee】Day271 - Peewee API文档 - 字段(二)
文章目录11.3.17 class UUIDField11.3.18 class BinaryUUIDField11.3.19 class DateTimeField11.3.20 class DateField11.3.21 class TimeField11.3.22 class TimestampField11.3.23 class IPField11.3.24 class BooleanField11.3.25 class BareField11.3.26 class ForeignKeyField
2023-08-18 07:57:23 181
原创 【Python百日进阶-Web开发-Peewee】Day270 - Peewee API文档 - 字段(一)
文章目录11.3 字段"id" INT GENERATED BY DEFAULT AS IDENTITY NOT NULL PRIMARY KEYGenerates a WHERE clause that looks like:WHERE (post.flags & 1 != 0)Query for sticky + favorite posts:Set the 4th bit on all Post objects.Clear the 1st and 3rd bits on all Post ob
2023-08-16 07:31:37 213
原创 【Python百日进阶-Web开发-Peewee】Day269 - Peewee API文档 - 查询生成器(五)
文章目录11.2.31 class _WriteQuery11.2.32 class Update11.2.33 class Insert11.2.34 class Delete11.2.35 class Index11.2.36 class ModelIndex11.2.31 class _WriteQueryclass _WriteQuery(table[, returning=None[, **kwargs]])参数: table ( Table ) – 要写入的表。返回( list )
2023-08-15 07:55:01 160
原创 【Python百日进阶-Web开发-Peewee】Day268 - Peewee API文档 - 查询生成器(四)
文章目录11.2.28 class SelectBase11.2.29 class CompoundSelectQuery11.2.30 class Select11.2.31 class _WriteQuery11.2.32 class Update11.2.33 class Insert11.2.34 class Delete11.2.35 class Index11.2.36 class ModelIndex11.2.28 class SelectBaseclass SelectBaseSel
2023-08-14 07:57:07 150
原创 【Python百日进阶-Web开发-Peewee】Day267 - Peewee API文档 - 查询生成器(三)
文章目录11.2.19 class NodeList11.2.20 class DQ11.2.21 class Tuple(*args)11.2.22 class OnConflict11.2.23 classEXCLUDED11.2.24 class BaseQuery11.2.19 class NodeListclass NodeList(nodes[, glue=' '[, parens=False]])参数:nodes (列表)——零个或多个节点。glue ( str ) – 转换为
2023-08-08 07:54:57 166
原创 【Python百日进阶-Web开发-Peewee】Day266 - Peewee API文档 - 查询生成器(二)
文章目录11.2.11 class Negated(node)11.2.12 class Value11.2.13 class Cast11.2.14 class Ordering11.2.15 class Entity11.2.16 class SQL11.2.17 class Function11.2.18 class Window11.2.11 class Negated(node)class Negated(node)表示一个否定的类似列的对象。11.2.12 class Valuecl
2023-08-03 07:50:00 204
原创 【Python百日进阶-Web开发-Peewee】Day265 - Peewee API文档 - 查询生成器(一)
文章目录11.2 查询生成器11.2.1 基类 class Node11.2.2 class Source11.2.3 class BaseTable11.2.4 class Table11.2.5 class Join11.2.6 class ValuesList11.2.7 class CTE11.2.8 class ColumnBase11.2.9 class Column(source, name)11.2.10 class Alias11.2 查询生成器11.2.1 基类 class Node
2023-08-02 16:16:26 199
原创 【Python百日进阶-Web开发-Peewee】Day264 - Peewee API文档 - 数据库(下)
文章目录11.1.2 SqliteDatabase11.1.3 PostgresqlDatabase11.1.4 MySQLDatabase11.1.2 SqliteDatabaseclass SqliteDatabase(database[, pragmas=None[, timeout=5[, returning_clause=None[, **kwargs]]]])参数: pragmas – 字典或 2 元组列表,包含每次打开连接时设置的 pragma 键和值。timeout – 在 SQ
2023-07-31 14:31:36 191
原创 【Python百日进阶-Web开发-Peewee】Day263 - Peewee API文档 - 数据库(上)
文章目录十一、API 文档11.1 数据库11.1.1 Database 通用十一、API 文档本文档指定了 Peewee 的 API。11.1 数据库11.1.1 Database 通用class Database(database[, thread_safe=True[, autorollback=False[, field_types=None[, operations=None[, autoconnect=True[, **kwargs]]]]]])参数: database ( st
2023-07-26 07:54:32 179
原创 【Python百日进阶-Web开发-Peewee】Day262 - Peewee 表连接
文章目录十、 关系和连接10.8 自联接10.8.1 使用模型别名10.8.2 使用子查询10.9 实现多对多10.9.1 多对多字段10.10 避免 N+1 问题10.10.1 列出最近的推文10.10.2 列出用户及其所有推文10.10.3 使用预取十、 关系和连接在本文档中,我们将介绍 Peewee 如何处理模型之间的关系。10.8 自联接Peewee 支持构建包含自联接的查询。10.8.1 使用模型别名要在同一个模型(表)上连接两次,需要创建一个模型别名来表示查询中表的第二个实例。考虑以
2023-07-24 07:54:40 189
原创 【Python百日进阶-Web开发-Peewee】Day261 - Peewee 表关系
文章目录十、 关系和连接10.1 模型定义10.1.1 创建测试数据10.2 执行简单连接10.3 连接多个表10.4 从多个来源中选择10.4.1 更复杂的例子10.5 子查询10.5.1 公用表表达式10.6 同一模型的多个外键10.7 加入任意字段十、 关系和连接在本文档中,我们将介绍 Peewee 如何处理模型之间的关系。10.1 模型定义我们将在示例中使用以下模型定义:import datetimefrom peewee import *db = SqliteDatabase('
2023-07-17 07:27:41 186
原创 【Python百日进阶-Web开发-Peewee】Day260 - Peewee 查询运算符
文章目录九、运算符9.1 三值逻辑9.2 添加用户定义的运算符9.3 表达式9.4 行值9.5 SQL 函数9.6 嵌套函数调用9.7 SQL 助手9.8 安全性和 SQL 注入九、运算符peewee 支持以下类型的比较:比较意义==x 等于 y<x 小于 y<=x 小于或等于 y>x 大于 y>=x 大于或等于 y!=x 不等于 y<<x IN y,其中 y 是列表或查询>>
2023-07-15 10:41:45 435
原创 【Python百日进阶-Web开发-Peewee】Day259 - Peewee 公用表达式
文章目录8.17 检索行元组/字典/命名元组8.18 Returning Clause8.19 公用表表达式8.19.1 简单示例8.19.2 复杂示例8.19.3 递归 CTE8.20 外键和连接8.17 检索行元组/字典/命名元组有时您不需要创建模型实例的开销,而只是想迭代行数据而不需要提供的所有 API Model。为此,请使用:dicts()namedtuples()tuples()objects()– 接受使用行元组调用的任意构造函数。stats = (Stat
2023-07-14 16:45:35 183
原创 【Python百日进阶-Web开发-Peewee】Day258 - Peewee 窗口函数
文章目录8.15 检索标量值8.16 窗口函数8.16.1 Ordered Windows8.16.2 分区窗口8.16.3 有界窗口8.16.4 过滤聚合8.16.5 重用窗口定义8.16.6 多个窗口定义8.16.7 帧类型:RANGE vs ROWS vs GROUPS8.15 检索标量值您可以通过调用来检索标量值Query.scalar()。例如:>>> PageView.select(fn.Count(fn.Distinct(PageView.url))).scalar()
2023-07-12 08:27:31 207
原创 【Python百日进阶-Web开发-Peewee】Day257 - Peewee过滤、排序、分页、计数、汇总记录
文章目录8.9 过滤记录8.9.1 更多查询示例8.10 排序记录8.11 获取随机记录8.12 分页记录8.13 计数记录8.14 汇总记录8.9 过滤记录您可以使用普通的 python 运算符过滤特定记录。Peewee 支持多种查询运算符。>>> user = User.get(User.username == 'Charlie')>>> for tweet in Tweet.select().where(Tweet.user == user, Tweet.i
2023-07-09 08:36:28 320
原创 【Python百日进阶-Web开发-Peewee】Day256 - Peewee 查询记录
文章目录8.6 选择单个记录8.7 创建或获取8.8 选择多条记录8.8.1 迭代大型结果集8.6 选择单个记录您可以使用该Model.get()方法检索与给定查询匹配的单个实例。对于主键查找,您还可以使用快捷方式Model.get_by_id()。此方法是使用给定查询调用的快捷方式Model.select(),但将结果集限制为单行。此外,如果没有模型与给定查询匹配,DoesNotExist则会引发异常。>>> User.get(User.id == 1)<__main__
2023-07-08 12:23:21 274
原创 【Python百日进阶-Web开发-Peewee】Day255 - Peewee 更新、删除记录
文章目录8.3 更新现有记录8.4 Atomic updates原子更新8.4.1 Upsert8.5 删除记录8.3 更新现有记录一旦模型实例具有主键,任何后续调用都 save()将导致UPDATE而不是另一个INSERT。模型的主键不会改变:>>> user.save() # save() returns the number of rows modified.1>>> user.id1>>> user.save()>>
2023-07-06 08:04:54 350
原创 【Python百日进阶-Web开发-Peewee】Day254 - Peewee 增加记录
八、查询http://docs.peewee-orm.com/en/latest/peewee/querying.html本节将介绍通常在关系数据库上执行的基本 CRUD 操作:Model.create(), 用于执行INSERT查询。Model.save()和Model.update(), 用于执行UPDATE 查询。Model.delete_instance()和Model.delete(), 用于执行 DELETE查询。Model.select(),用于执行SELECT查询。笔记
2023-07-03 17:39:44 216
原创 【Python百日进阶-Web开发-Peewee】Day253 - Peewee 主键、复合主键等
7.5 主键、复合键和其他技巧AutoField用于标识自增整数主键。如果不指定主键,Peewee 会自动创建一个名为“id”的自增主键。要使用不同的字段名称指定自动递增 ID,您可以编写:class Event(Model): event_id = AutoField() # Event.event_id will be auto-incrementing PK. name = CharField() timestamp = DateTimeField(default=da
2023-06-30 08:24:33 302
原创 【Python百日进阶-Web开发-Feffery】Day621- 趣味dash_21:微型系统--首页布局
【代码】【Python百日进阶-Web开发-Feffery】Day621- 趣味dash_21:微型系统--首页布局。
2023-06-24 12:53:55 848
原创 【Python百日进阶-Web开发-Peewee】Day252 - Peewee 创建模型表、索引和约束
7.2 创建模型表为了开始使用我们的模型,必须先打开与数据库的连接并创建表。Peewee 将运行必要的CREATE TABLE查询,另外创建任何约束和索引。# Connect to our database.db.connect()# Create the tables.db.create_tables([User, Tweet])笔记严格来说,没有必要调用connect() ,但明确的做法是很好的做法。这样,如果出现问题,错误会发生在连接步骤,而不是稍后的某个任意时间。笔记默认情况
2023-06-20 10:57:22 493
原创 【Python百日进阶-Web开发-Peewee】Day251 - Peewee 外键字段等
7.1.4 外键字段ForeignKeyField是一种特殊的字段类型,允许一个模型引用另一个模型。通常,外键将包含与其相关的模型的主键(但您可以通过指定 a 来指定特定列 field)。外键允许数据被规范化。在我们的示例模型中,有一个外键 from Tweetto User。这意味着所有用户都存储在他们自己的表中,就像推文一样,从推文到用户的外键允许每条推文指向一个特定的用户对象。笔记有关模型之间的外键、连接和关系的深入讨论,请参阅关系和连接文档。在 peewee 中,访问 a 的值Fore
2023-06-19 12:12:01 339
原创 【Python百日进阶-Web开发-Peewee】Day250 - Peewee 字段类型等
七、模型和字段Model类、Field实例和模型实例都映射到数据库概念:事物对应…Model classDatabase tableField instanceColumn on a tableModel instanceRow in a database table以下代码显示了定义数据库连接和模型类的典型方式。import datetimefrom peewee import *db = SqliteDatabase('my_app.db')
2023-06-18 12:16:59 1069
原创 【Python百日进阶-Web开发-Peewee】Day249 - 数据库 事务管理
6.12 事务管理Peewee 提供了几个用于处理事务的接口。最通用的是Database.atomic()方法,它也支持嵌套事务。atomic()块将在事务或保存点中运行,具体取决于嵌套级别。如果包装块中发生异常,则当前事务/保存点将回滚。否则,语句将在包装块的末尾提交。笔记在由上下文管理器包装的块内时,您可以通过调用或atomic()在任何时候显式回滚或提交。当您在包装的代码块中执行此操作时,将自动启动一个新事务。Transaction.rollback()Transaction.commit
2023-06-16 14:02:35 261
原创 【Python百日进阶-Web开发-Peewee】Day247 - 数据库 连接管理
6.6 连接管理要打开与数据库的连接,请使用以下Database.connect()方法:>>> db = SqliteDatabase(':memory:') # In-memory SQLite database.>>> db.connect()True如果我们尝试调用connect()一个已经打开的数据库,我们会得到 OperationalError:>>> db.connect()Traceback (most recent c
2023-06-15 08:46:07 473
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人