Я пытаюсь сохранить 2 значения в одном столбце, и я не знаю, возможно ли это вообще.
Это выглядит так. Я получаю данные из формы HTML, как показано ниже. Это работает.
<form action="{{url_for('newBook')}}" method = 'POST'>
<p>Choose Language</p>
<select name=language method="GET" action="/" size="2" multiple>
{% for language in languages %}
<option value= "{{language}}" SELECTED>{{ language }}</option>"
{% endfor %}
</select>
<p><input type='submit' value='Create'></p>
<a href = "{{url_for('showBooks') }}">Cancel</a>
</form>
Но в базе данных хранится только одно значение.
class Book(Base):
__tablename__ = 'Book'
language = Column(String(30)) # how change that?
Вот так я получаю это значение.
languages = ['Polish', 'English']
@app.route('/books/new/', methods=['GET', 'POST'])
def newBook():
if request.method == 'POST':
newBook = Book(language = request.form['language']) # how change that?
session.add(newBook)
session.commit()
flash("New Book Added!")
return redirect(url_for('showBooks'))
else:
return render_template('newBook.html', languages=languages)
Этот код работает, но я получаю только английское или польское значение. Но я хочу, чтобы я мог хранить иногда оба значения. Я знаю, что можно использовать request.form.getlist, но я не нашел работающего примера и того, как сохранить его в базе данных.