У вас есть функция, которая называется erga
где-то в вашем коде. Вот почему вы вставляете функции вместо значений. Чтобы исправить свой код, вам нужно изменить оператор выполнения с:
cur.execute("INSERT INTO test(testpedio,ergo,author) VALUES(%s,%s, %s)",(testpedio,erga,session['username']))
до:
cur.execute("INSERT INTO test(testpedio,ergo,author) VALUES(%s,%s, %s)",(testpedio,form.erga.data,session['username']))
Обратите внимание, что мы изменили erga
в операторе выполнения на form.erga.data
, так что мы получим значение SelectField
в вашей форме. Важно знать, что form.erga.data
даст вам ключ выбора, который вы выбрали. В вашем случае нам не нужно беспокоиться об этом, поскольку ключ и значение ваших вариантов выбора одинаковы. Однако в будущих случаях ключ может отличаться. Таким образом, в этих случаях, чтобы получить действительные значения опций выбора, вы можете использовать dict(form.erga.choices).get(form.erga.data)
.