插入 table 中的数据结构必须是什么样子

What does data-structure have to look like for inserting in table

我在 my_model.py

中有类似的东西
table_fields = [
    'my_name-string',
    'my_id-integer',
    ]

我的目标是根据这些信息创建一个 table,所以我尝试了:

fields_and_types_dict ={}  
for tf in table_fields:
        fields_and_types = tf.split('-')
        fields_and_types_dict['%s' % fields_and_types[0]] = {}
        fields_and_types_dict['%s' % fields_and_types[0]]['type'] = '%s' % fields_and_types[1]

db.define_table('my_table', fields_and_types_dict)

它不能正常工作,我想我没有正确的数据结构。 任何人都可以提示它的外观吗?提前谢谢你。

解决方案:

最优雅的解决方案是:

db.define_table('my_table', *[Field(*tf.split('-')) for tf in table_fields])

正如安东尼所建议的那样。

我使用的不太复杂的解决方案是:

tableDef = ['my_table']
for tf in table_fields:
    name, type = tf.split("-")
    tableDef.append(Field(name, type))
db.define_table(*tableDef)

如 Vanojx1 所建议。

基于DOC,试试这个:

tableDef = ['my_table']
for tf in table_fields:
    name, type = tf.split("-")
    tableDef.append(Field(name, type))
db.define_table(*tableDef)