-1
我正在修改cookiecutter Flask应用程序。这使用flask_login usermixin。AttributeError:'function'对象没有与'sqlalchemy''确认'的属性
我有一个包含一个方法寄存器:
from myflaskapp.models.user import User
if form.validate_on_submit()
new_user = User.query.filter_by(email=posted_email).first
if new_user:
if new_user.confirmed:
的posted_email是表中没有,所以我认为没有值将被返回。为什么这不起作用?
myflaskapp.models.user:
from flask.ext.login import UserMixin
from myflaskapp.extensions import db, bcrypt
from myflaskapp.database import (
Column,
Model,
ReferenceCol,
relationship,
SurrogatePK,
)
class User(UserMixin, SurrogatePK, Model):
__tablename__ = 'users'
username = Column(db.String(80), nullable=True)
email = Column(db.String(80), nullable=False)
#: The hashed password
password = Column(db.String(128), nullable=True)
created_at = Column(db.DateTime, nullable=False, default=dt.datetime.utcnow)
first_name = Column(db.String(30), nullable=True)
last_name = Column(db.String(30), nullable=True)
active = Column(db.Boolean(), default=False)
admin = Column(db.Boolean(), default=False)
confirmed = db.Column(db.Boolean, default=False)
confirmed_on = db.Column(db.DateTime, nullable=True)
>>> User.query.filter_by(email=posted_email).first
<bound method BaseQuery.first of <flask_sqlalchemy.BaseQuery object at 0x03DF4FF0>>
>>> User.query.filter_by(email=posted_email)
<flask_sqlalchemy.BaseQuery object at 0x03DF4030>
>>> new_user = User.query.filter_by(email=posted_email).first
>>> type(new_user)
<type 'instancemethod'>
回溯:
Traceback (most recent call last):
File "C:\envs\virtalenvs\flask_mini\lib\site-packages\flask\app.py", line 1836, in __call__
return self.wsgi_app(environ, start_response)
File "C:\envs\virtalenvs\flask_mini\lib\site-packages\flask\app.py", line 1820, in wsgi_app
response = self.make_response(self.handle_exception(e))
File "C:\envs\virtalenvs\flask_mini\lib\site-packages\flask\app.py", line 1403, in handle_exception
reraise(exc_type, exc_value, tb)
File "C:\envs\virtalenvs\flask_mini\lib\site-packages\flask\app.py", line 1817, in wsgi_app
response = self.full_dispatch_request()
File "C:\envs\virtalenvs\flask_mini\lib\site-packages\flask\app.py", line 1477, in full_dispatch_request
rv = self.handle_user_exception(e)
File "C:\envs\virtalenvs\flask_mini\lib\site-packages\flask\app.py", line 1381, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "C:\envs\virtalenvs\flask_mini\lib\site-packages\flask\app.py", line 1475, in full_dispatch_request
rv = self.dispatch_request()
File "C:\envs\virtalenvs\flask_mini\lib\site-packages\flask_debugtoolbar\__init__.py", line 124, in dispatch_request
return view_func(**req.view_args)
File "C:\envs\r2\mini\myflaskapp\views\public.py", line 73, in register
if new_user.confirmed:
AttributeError的: '功能' 对象有没有属性 '证实'
谢谢,那是愚蠢的.. – user61629