Каков наилучший подход к модели данных для создания и редактирования записи для flask -wtf SelectMultipleField с использованием sqlalchemy? - PullRequest
0 голосов
/ 17 января 2020

Я пытаюсь добавить несколько местоположений для пользователя в форме. Для этого я построил форму, используя flask -wtf SelectMultipleField:

forms.py

from flask_wtf import FlaskForm
from wtforms import SelectMultipleField

class LocationForm(FlaskForm):
    # other fields
    selectmultiplefield = SelectMultipleField('Locations', choices=[('Berlin','Berlin'), ('London','London'), ('New York','New York')])

и использую ее как view: views.py

from flask import render_template, redirect, url_for
from .models import User, UserLocation

@app.route('/user/<int:id>/location/new', methods=['GET', 'POST'])
def new_location(id):
    user = User.query.filter_by(id=id).first_or_404()
    form = LocationForm()
    if form.validate_on_submit():
      # how to handle SelectMultipleField?
      flash('New locations have been added for the user.', 'success')
      return redirect(url_for('.user', id=id))
    return render_template('location_new.html', form=form, user=user)

models.py

from . import db

class User(db.Model):
    __tablename__ = 'users'
    id = db.Column(db.Integer, primary_key=True)
    # other columns

class UserLocation(db.Model):
     __tablename__ = 'user_locations'
    id = db.Column(db.Integer, primary_key=True)
    # how to model for SelectMultipleField?

Как смоделировать это с помощью sqlalchemy, чтобы создать новую запись о местоположении и отредактировать ее позже? Может быть, некоторые могут помочь.

...