Python 当我使用炼金术时,如何设置wtforms炼金术的会话?

Python 当我使用炼金术时,如何设置wtforms炼金术的会话?,python,flask,flask-sqlalchemy,flask-wtforms,Python,Flask,Flask Sqlalchemy,Flask Wtforms,我在init_app()的应用程序中使用flask sqlalchemy和init sqlalchemy(),如下所示: in config file : SQLALCHEMY_DATABASE_URI = 'sqlite:///example.db' --------------------- in extension file : from flask.ext.sqlalchemy import SQLAlchemy db = SQLAlchemy() ------------

我在init_app()的应用程序中使用flask sqlalchemy和init sqlalchemy(),如下所示:

in config file :

SQLALCHEMY_DATABASE_URI = 'sqlite:///example.db'
---------------------    
in extension file :

from flask.ext.sqlalchemy import SQLAlchemy

db = SQLAlchemy()
---------------------
in application file: 

#in my application file that generate my app
from ----- import db 

db.init_app(app)
from wtforms_alchemy import ModelForm

class UserForm(ModelForm):
    class Meta:
        model = User
我的模型是:

from -------- import db

class User(db.Model):
    __tablename__ = 'user'
    id = db.Column(db.Integer, autoincrement=True , primary_key=True)
    username = db.Column(db.String(50),unique=True)
    password = db.Column(db.String(50))
    email = db.Column(db.String(50),unique=True)

    def __repr__(self):
        return '<User %r>' % self.username
我有一个错误:

File "/usr/local/lib/python2.7/dist-packages/wtforms_components/validators.py", line 220, in _check_for_session
raise Exception('Could not obtain SQLAlchemy session.')

Exception: Could not obtain SQLAlchemy session.
如何修复此错误?

来自:

为了使WTForms Alchemy与Flask WTF协同工作,您需要以下代码片段:

from flask.ext.wtf import Form
from wtforms_alchemy import model_form_factory

ModelForm = model_form_factory(Form)
您可以像以前一样使用ModelForm:

class UserForm(ModelForm):
    class Meta:
        model = User
这确实依赖于
用户
拥有
查询
对象;e、 g.您的
用户
模型必须来自
db.model
。如果没有,则需要在表单上定义
get\u session
方法:


谢谢你的回答,但我的问题是sqlalchemy会话。@sdnaghdi:WTForms Alchemy
Unique
验证器所做的就是查找
User.query
;如果不存在,则需要添加
get\u session()
方法。这很可能意味着你没有为你的
用户使用
db.Model
,特别是thanx,帮我个忙。
class UserForm(ModelForm):
    class Meta:
        model = User

    def get_session(self):
        return db.session