python - 使用 SQLAlchemy 枚举数据库中的查找表?

标签 python sql sqlalchemy

所以我在数据库中有这个查找表,看起来像这样:

-----------------
| Code | Id     |
-----------------
| Good | 1      |
| Bad  | 2      |
-----------------

我想创建一个看起来像这样的 Python 对象:

>>> Codes.Good
1
>>> Codes.Bad
2

我一直在使用一种将 type 函数、原始 SQL 查询和 Session.execute 修补在一起的技巧。例如:

>>> results = Session.execute("select code, id from codes")
>>> d = {}
>>> [d[result.code] = result.id for result in results]
>>> Codes = type("Codes", (object,), d)

SQLAlchemy 中是否有更好的内置方法来执行此操作?

最佳答案

SqlAlchemy 的创建者最近刚刚发表了一篇关于这样做的帖子: http://techspot.zzzeek.org/2011/01/14/the-enum-recipe/

关于python - 使用 SQLAlchemy 枚举数据库中的查找表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4877285/

相关文章:

java - 是否有用于包装 Text/XML/JSON 数据服务的语言中立 API 生成器?

python - 全局变量声明Python

python - 如何一次生成多个matplotlib图表?

python - 属性错误: 'Model' object has no attribute 'trainable_variables' when model is <class 'keras.engine.training.Model' >

sql - 同一表中 SQL 中的 VLOOKUP 等效项

python - 我可以从纯 sql CREATE 创建 SQLALCHEMY 模型吗?

python - 如何在 Django 中的多对多关系中向数据透视表添加更多列?

mysql - CONVERT_TZ 函数不起作用 : Time zone data for MySQL

sql - postgreSQL 使用 subselect 更新所有列行而没有表之间的链接。我可以避免 plpgsql 吗?

python - 将 SQLAlchemy ORM 查询结果转换为 JSON,而不是创建 ORM 对象