Как динамически использовать имя столбца внутри запроса вставки в django - PullRequest
0 голосов
/ 21 апреля 2020
cursor.execute("insert into demoapp_site ('name','firstname','lastname') values (%s,%s,%s)",site_data)

в вышеприведенном запросе. Я хочу передать имя столбца динамически, и% s, который находится внутри значений, также не предопределяет, сколько раз ему нужно написать

, поэтому, как я могу написать свой sql запрос по моим данным, который приходит из html таблицы в 2d массиве из ??

1 Ответ

1 голос
/ 25 апреля 2020

Нам нужно построить запрос перед его использованием. Следующим образом

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)
...