FlASK SQLAlChemy使用动态列名添加行

Flask SQLAlchemy add row using dynamic column name(FlASK SQLAlChemy使用动态列名添加行)

本文介绍了FlASK SQLAlChemy使用动态列名添加行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想向现有表中添加一行,但列名未知。在前面的脚本中,我能够使用setattr()更新现有条目,并使用getattr()进行查询--但我不知道如何添加新条目。 例如:eanretailer_sku是从CSV文件中读取的,但是,根据脚本输入的不同,RETALER列可以有不同的值。我希望避免使用多个If-Else语句。

ean='7622210496034'
retailer = 'gh'
retailer_sku = '8222868'
retailer_add = SkuRetailer(mainean=ean, retailer=retailer_sku)
db.session.add(retailer_add)

如何在构造函数中使用'gh'而不是retailer

推荐答案

要使用可变关键字参数(或kwargs),常见的解决方法如下:

retailer = 'gh'
sku = '8222868'
kwargs = { 'mainean': ean, retailer: sku }
retailer_add = SkuRetailer(**kwargs)
db.session.add(retailer_add)

这篇关于FlASK SQLAlChemy使用动态列名添加行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:FlASK SQLAlChemy使用动态列名添加行

基础教程推荐