如何在 django 的插入查询中动态使用列名
Posted
技术标签:
【中文标题】如何在 django 的插入查询中动态使用列名【英文标题】:How to use column name dynamically inside insert query in djnago 【发布时间】:2020-08-04 03:33:55 【问题描述】:cursor.execute("insert into demoapp_site ('name','firstname','lastname') values (%s,%s,%s)",site_data)
在上面的查询中,我想动态传递列名,而内部值的 %s 也没有预先定义它需要写入多少次
那么,如何根据我的数据编写我的 sql 查询,这些数据来自二维数组中的 html 表??
【问题讨论】:
【参考方案1】:我们需要在使用之前构建查询。如下
field_string = ""
value_string = ""
# This will string in this format "'field1','field2'"
# Assuming array is in format [["field1", "value1"],..]
# Update the for loop statement based on your input, other lines remain same
for field, value in my_field_array:
temp_field_string = "'%s'" % field
field_string = field_string + temp_field_string + ","
temp_value_string = "'%s'" % value
value_string = value_string + temp_value_string + ","
# Removing trailing comma's before passing the values
cmd = "insert into demoapp_site (%s) values (%s)" % (field_string[:-1], value_string[:-1])
cursor.execute(cmd)
【讨论】:
以上是关于如何在 django 的插入查询中动态使用列名的主要内容,如果未能解决你的问题,请参考以下文章