【发布时间】:2016-07-22 16:41:07
【问题描述】:
我正在从 烧瓶 sqlalchemy
from flask.ext.sqlalchemy import SQLAlchemy
到 sqlalchemy.orm - 会话生成器
from sqlalchemy.orm import sessionmaker
型号
@staticmethod
class User(Base):
__tablename__ = 'user'
id = Column(Integer , primary_key=True)
name = Column(String(20) , unique=True, nullable=False)
.
.
.
def make_valid_name(name):
return re.sub('[^a-zA-Z0-9_\.]', '', name)
表格
def validate(self):
.
.
.
if self.name.data != User.make_valid_name(self.name.data):
self.name.errors.append('Please use letters, numbers, dots and underscores only.')
return False
调用 self.validate() 方法时抛出以下错误
TypeError: unbound method make_valid_name() must be called with User instance as first argument (got unicode instance instead)
我不确定需要修改什么,如何从字段数据验证“self.name.data”
对此的任何帮助都会很棒。
【问题讨论】:
-
@staticmethod是否出现在您省略的代码中? -
是的,它是一个静态方法。
标签: python-2.7 flask sqlalchemy flask-sqlalchemy