如何使用 peewee 从字典(迭代)创建字段(数据库中的列)

How create fields(columns in db) from a dictionary(iterating) with peewee

我是 peewee 和 python 的新手。我正在尝试使用字典中的键作为字段名称来创建 mysql table。我试过下面的代码,但它只在数据库中创建一个字段 = 'key'。看起来 peewees 框架看不到变量。我认为这必须是另一种优雅的方式,但我很困惑。

from peewee import *
db = MySQLDatabase('exop', user='root',passwd='12345')
dict = {'a' : '1', 'b' : '2',  'c': '3'}
class Dict2db(Model):
    for key in dict:
        key = CharField()

    class Meta:
        database = db
db.connect()
db.create_table(Dict2db)

您可能想使用 type:

attrs = {field: CharField() for field in dict}
Dict2db = type('Dict2db', (Model,), attrs)