小编Ric*_*Lee的帖子

使用字典将广义插入到sqlalchemy中

我正在Flask中构建一个应用程序,我定义了几个SQLAlchemy模型.我有一个字典,其中包含每个模型类型的键/值对.

我想要一个使用字典的通用插入...这需要一个映射器吗?我知道wtforms.ext.sqlalchemy.orm.model_form()使用populate_obj(model)生成一个对象,所以它是可能的.我已经梳理了文档,但找不到它.我可以稍后执行提交,但需要一个快捷方式来填充对象.拜托,有没有人有专业知识?

from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy

app = Flask(__name__)
db = SQLAlchemy()
db.init_app(app)

employee_data = {'firstname':'John','lastname':'Smith'}
project_data = {'name':'project1'}

dict_generalised_insert(model=Employee,dictionary=employee_data)
dict_generalised_insert(model=Project,dictionary=project_data)

def dict_generalised_insert(model=None,dictionary={})
    obj = model.model() 
    obj.populate_obj(dictionary) # ???
    return obj

class Employee(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    firstname = db.Column(db.String(80))
    lastname = db.Column(db.String(80))

class Project(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(80))
Run Code Online (Sandbox Code Playgroud)

python dictionary sqlalchemy flask

9
推荐指数
1
解决办法
9887
查看次数

标签 统计

dictionary ×1

flask ×1

python ×1

sqlalchemy ×1