flask slqalchemy Динамическая подстановка имени поля
Flask + SQLAlchemy. Существует страница с большим количеством однотипных форм (тестирование), сериализация формы через AJAX, проблема в том, что формы генеруются динамически (form_1, form_2 и т.д.) из-за их однотипности. Каждой форме соответсвует запись в таблице БД. Проблема в так и не смог найти, как подставить имя поля в маршурутах динамически.
@app.route('/check', methods=['POST'])
def check():
form = Form()
if request.method == "POST":
field = request.form.get('answerField')
ans_number = 'task_' + request.form.get('answerNumber')
answer.ans_number = field
Соответственно, атрибута ans_number в таблице не существует, он должен быть значением этой переменной. Есть ли штатные средства SQLAlchemy или использовать sqlite? В перспективе будет переход на MySQL, поэтому sqlite - не вариант.
Ответы (1 шт):
Ответ нашел сам. Это было нужно сделать функцией setattr(obj,'attr', value), где obj - имя модели flask, 'attr' - строка, которую можно генерировать (в моем случае в цикле), в которой записано имя поля модели, value - значение, которое мы хотим записать в поле.