如何在 Django 中管理 Postgres Enum 类型?

Ari*_*rif 5 django postgresql enums

我使用django-mysql来管理 Django 中的 MySQL 枚举类型。最近我在 Django 项目中使用 Postgres 数据库。为了管理Postgres Enum,我无法找到任何库。Django中有一个db_type()方法来管理自定义类型。但问题是 Postgres 枚举必须首先在数据库中创建,然后我才能使用它。

这是 Postgres 枚举的代码示例。

CREATE TYPE mood AS ENUM ('sad', 'ok', 'happy');
CREATE TABLE person (
    name text,
    current_mood mood
);
Run Code Online (Sandbox Code Playgroud)

有图书馆吗?如果没有,我如何能够从 Django 实现 Postgres 枚举管理?

Ant*_*n K 2

好吧,如果模式是预先烘焙的,那么只需定义相同的选择并假装该字段是文本值就可以了。刚刚使用 Postgresql 13.3 和 Django 3.2.6 / psycopg2 2.9.1 对此进行了测试。

除此之外,我还看到其他人用自定义数据库模式管理来施展魔法——这里这里