我有一段接收HTML表单的代码。表单字段之一是用户选择的值。我需要将此字符串值转换为变量名。
我有以下映射SQL数据库的变量:
private29_table = Base.classes.private29
下面的变量使用fstring捕获用户输入并将“ _table”添加到末尾。
ip_table = f"{form_data['ip_quantity']}_table"
然后我尝试使用以下代码运行SQL查询:
sql_session.query(ip_table).filter(ip_table.assigned_to ==
form_data['ip_quantity']).first()]
假设用户在输入表单中输入了“ private29”。 ip_table成为'private29_table',但是它当然是字符串类型,因此当我尝试运行该字符串没有方法'assigned_to'的代码时,我得到一个错误。有什么方法可以将ip_table附带的字符串转换为有效的变量名,以便'assigned_to'方法实际上以变量而不是字符串为目标?
这样做的原因是用户有4个输入选项,每个输入选项在不同的mysql表中查找。我想用尽可能少的代码来解决这个查询,而不要使用基于用户从表单发送的值的if语句。
很抱歉,如果重复的话。我研究了我能找到的每一个动态生成的变量名,并且由于我是python和编程的新手,所以我没有发现我理解的任何解决方案。
谢谢