python - 如何在可能有多种选择的 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)
解决方案
您可以在此处使用 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=[])
推荐阅读
- javascript - 为什么 html 表单提交按钮不能在 android 手机上工作但在 pc 上工作?
- reactjs - 用 CSP 反应 CRA:拒绝执行内联脚本
- javascript - 正则表达式匹配句子中的整个单词 - javascript
- java - 将应用程序迁移到云、Tomcat、Java、MySQL - Azure/AWS 选项 LAMP 或服务?
- python - 使用一个 Dataframe 中的最后一个有效数据索引来选择另一个 Dataframe 中的数据
- postgresql - Heroku Pstgres 无法访问数据库中的表
- flutter - 使用 Visual Studio Code 在终端中运行 Dart 控制台应用程序
- php - Laravel route() 函数没有将正确的类型传递给控制器
- react-native - React-native-navigation 在推送之前检查 componentId 是否存在
- assembly - x86-64 程序集中的交换函数