如何使用 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)
我是 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)