UUIDS的peewee ArrayField

时间:2018-07-22 20:24:03

标签: python postgresql uuid peewee

我正在尝试使用peewee操纵一个表,该表的列包含uuid数组。

模型如下:

zero_val > 0.75 or one_val > 0.75

我想在此表中插入一个条目,并且正在使用以下代码:

class test_db(BaseModel):
    arr = playhouse.postgres_ext.ArrayField(
        peewee.UUIDField,
        index_type=False
    )

但是我收到了

arr = [uuid.UUID('d167169e-a017-4c17-8f3a-1dee98c1e563')]

x = test_db(arr=arr)
x.save()

我也尝试过这个

peewee.ProgrammingError: can't adapt type 'UUID'

但是我收到以下错误:

arr = ['d167169e-a017-4c17-8f3a-1dee98c1e563']

x = test_db(arr=arr)
x.save()

您能为这个问题提供一些帮助吗?

非常感谢您!

1 个答案:

答案 0 :(得分:0)

这需要您注册UUID类型:

import psycopg2.extras
psycopg2.extras.register_uuid()

使用上面的代码,您应该可以简单地使用:

arr = ArrayField(UUIDField, index=False)