Я использую Flask с WTForms и SQLAlchemy. Я в настоящее время имеют это установить:Передайте данные формы непосредственно объекту SQLalchemy?
SQLAlchemy класс:
class User(Base):
__tablename__ = 'user'
name = db.Column(db.String)
last_name = db.Column(db.String)
__init__(name, last_name):
self.name = name
self.last_name = last_name
Соответствующая форма:
class CreateUserForm(Form):
name = StringField('Name')
last_name = StringField('Last name')
И маршрут:
@user.route('/', methods=['POST'])
def create():
form = CreateUserForm(request.form)
if form.validate():
user = User(form.name.data, form.last_name.data)
...
Это просто упрощенный пример но я задаюсь вопросом, могу ли я как-то просто передать переменную формы в конструктор User и все путь к классу User в SQLAlchemy? Поскольку в конструкторе будут одинаковые поля, как в конструкторе, так и в таблице пользовательской базы данных, было бы неплохо.
Я хочу, чтобы мой маршрут, чтобы посмотреть, как это вместо:
@user.route('/', methods=['POST'])
def create():
form = CreateUserForm(request.form)
if form.validate():
user = User(form)
...
Так что я не приходится иметь дело с form.name и form.last_name в каждой части.
Спасибо, я попробую! Просто для любопытства, почему в большинстве случаев существуют специальные пакеты для Flask? Что лучше с Flask-WTF вместо исходного пакета? – theva
@theva - Flask-WTF и WTForms-Alchemy помогают с вырезанием кодирующего кода - особенно, поскольку ваши проекты Flask растут по сложности. – pjcunningham