Peewee 简明教程
Peewee - PostgreSQL and MySQL Extensions
playhouse.postgres_ext 中定义的帮助程序启用了额外的 PostgreSQL 功能。该模块定义了 PostgresqlExtDatabase 类,并提供了以下额外字段类型,这些类型专门用于声明要映射到 PostgreSQL 数据库表的模型。
Features of PostgreSQL Extensions
Peewee 支持的 PostgreSQL 扩展功能如下 −
-
ArrayField 字段类型,用于存储数组。
-
HStoreField 字段类型,用于存储键/值对。
-
IntervalField 字段类型,用于存储 timedelta 对象。
-
JSONField 字段类型,用于存储 JSON 数据。
-
BinaryJSONField 字段类型,用于存储 jsonb JSON 数据类型。
-
TSVectorField 字段类型,用于存储全文搜索数据。
-
DateTimeTZField 字段类型,可识别时区的日期时间字段。
此模块中的其他特定于 Postgres 的功能旨在提供。
-
hstore support.
-
server-side cursors.
-
full-text search.
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)