Peewee – PostgreSQL和MySQL扩展

Peewee – PostgreSQL和MySQL扩展

额外的PostgreSQL功能是由 playhouse.postgres_ext 模块中定义的辅助工具实现的。该模块定义了 PostgresqlExtDatabase 类,并提供了以下额外的字段类型,专门用于声明模型与PostgreSQL数据库表的映射。

PostgreSQL扩展功能的特点

Peewee支持的PostgreSQL扩展的特点如下

  • ArrayField字段类型,用于存储数组。

  • HStoreField字段类型,用于存储键/值对。

  • IntervalField字段类型,用于存储时间点对象。

  • JSONField字段类型,用于存储JSON数据。

  • BinaryJSONField字段类型,用于jsonb JSON数据类型。

  • TSVectorField字段类型,用于存储全文本搜索数据。

  • DateTimeTZField字段类型,是一个具有时区意识的日期时间字段。

本模块中的其他Postgres特定功能是为了提供。

  • hstore支持。

  • 服务器端游标。

  • 全文搜索。

Postgres hstore 是一个键:值存储,可以作为 HStoreField 类型的字段之一嵌入到一个表中 要启用hstore支持,请在创建数据库实例时使用 register_hstore=True 参数。

db = PostgresqlExtDatabase('mydatabase', register_hstore=True)

定义一个有一个 HStoreField 的模型

class Vehicles(BaseExtModel):
   type = CharField()
   features = HStoreField()

创建一个模型实例,如下所示-

v=Vechicle.create(type='Car', specs:{'mfg':'Maruti', 'Fuel':'Petrol', 'model':'Alto'})

要访问hstore的值-

obj=Vehicle.get(Vehicle.id=v.id)
print (obj.features)

MySQL扩展

MysqlDatabase类的替代实现是由定义在 playhouse.mysql_ext 模块中的 MySQLConnectorDatabase 提供。它使用Python的DB-API兼容官方的 mysql/python连接器。

from playhouse.mysql_ext import MySQLConnectorDatabase

db = MySQLConnectorDatabase('mydatabase', host='localhost', user='root', password='')

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程