python - 如何将字符串变量从一类转换为flask-sqlalchemy数据库?
问题描述
所以,我创建了这个小例子来说明我的问题:
我有一个(Flask)应用程序。在此示例中,用户可以上传包含有关某种水果的文本的文件。我提取该信息并将其保存在一个类中以进一步处理,如下所示:
class uploaded_fruits():
def __init__(self, fruit, taste):
self.fruit = fruit
self.taste = taste
我还将信息保存在 sqlalchemy 数据库中,用于存储前端的信息:
class fruits(db.Model):
id = db.Column(db.Integer, primary_key=True)
fruit = db.Column(db.String(10))
taste = db.Column(db.String(50))
edit = LinkCol('Edit', 'edit', url_kwargs=dict(id='id'))
在uploaded_fruits(
) 中,我存储另一个函数使用的信息,在 defruits()
数据库中,我以用户理解的方式存储信息。SW
例如,对于我使用 " " inuploaded_fruits()
和 " Sweet
" in的水果的甜味fruits()
,我将这个转换存储在这样的字典中:
Taste_list = {
"Sweet" : "SW",
"Sour" : "SO",
"Salty" : "SA",
"Bitter" : "BI",
}
例如,如果我有:
apple = uploaded_fruits("apple", "SW")
pear = uploaded_fruits("Pear", "SW")
我想像这样将其插入fuits()
数据库中:
class fruits(db.Model):
id = db.Column(db.Integer, primary_key=True)
fruit = ["apple", "pear"]
taste = ["Sweet", "Sweet"]
但我似乎无法做到这一点。我试过这个:
for fruit in uploaded_fruits:
analyzed_fruits = fruits()
analyzed_fruits.fruit = fruit.fruit
# When the text analyses does not conclude on a taste
if fruit.taste is None:
analyzed_fruit.taste = "Taste unknown 1"
else:
match_taste = fruit.taste
for key, value in Taste_list.items():
if match_taste in value:
analyzed_fruit.taste = key
else:
analyzed_fruit.taste = "Taste unknown 2"
db.session.add(analyzed_file)
db.session.commit()
但我现在得到的只是"Taste Unknown 2"
,所以由于某种原因它似乎无法匹配。有人可以帮助我吗?
解决方案
推荐阅读
- sql - 加入我的预订表的简单查询,无需为每个预订重复记录
- web-bluetooth - chrome 是否可以充当 gatt 服务器?
- javascript - 累加器在制作`reduce`方法中返回未定义
- python - Plotly:如何在箱线图 x 轴上绘制日期?
- r - flexdashboard 导航栏中的下载按钮
- c# - 你如何重新扭曲一个点?
- python - 这是什么:(冒号)在 Python 机器学习中?
- node.js - 使异步函数返回一个 Promise
- tensorflow - 2020 年我应该使用 tf.keras 还是 keras?
- amazon-web-services - aws athena:列需要如何制作过滤器