首页 > 解决方案 > 如何在可能有多种选择的 SQLAlchemy 中实现表单字段

问题描述

我有一个表单(见屏幕截图),用户可以一次选择多个选项。我将如何使用 SQLAlchemy 将这些输入放入表中的单个列中(可能是逗号分隔?)?或者如果考虑到用户可以选择几乎无限的选项(并且我不希望有 100 个流派字段等待数据库中的输入),那么如果有更好的方法来做到这一点,我会全神贯注于其他方法来实现这一点。

一次可以进行多项选择的表格

作为参考,这是我对表格其余部分的代码:class Venue(db.Model): tablename = 'Venue'

id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String)
city = db.Column(db.String(120))
state = db.Column(db.String(120))
address = db.Column(db.String(120))
phone = db.Column(db.String(120))
image_link = db.Column(db.String(500))
facebook_link = db.Column(db.String(120))
genres = #TODO (multiple selections possible from the form)

标签: pythonsqlalchemy

解决方案


您可以在此处使用 sqlalchemy 数组类型:

https://docs.sqlalchemy.org/en/13/core/type_basics.html#sql-standard-and-multiple-vendor-types

例如用法:

from sqlalchemy.ext.mutable import MutableList
from sqlalchemy.types import ARRAY

genres = Column(MutableList.as_mutable(ARRAY(db.String(255))), default=[])

推荐阅读