Python 烧瓶管理员:sqlalchemy.exc.InterfaceError(绑定参数8时出错)

Python 烧瓶管理员:sqlalchemy.exc.InterfaceError(绑定参数8时出错),python,flask-sqlalchemy,flask-admin,Python,Flask Sqlalchemy,Flask Admin,我试图使用以下命令保存项目的审阅者,选择字段显示正确: # Query the user with Role.id == 4 as reviewer def reviewer_choices(): return User.query.join(User.roles).filter(Role.id == 4) # Build a select field class ProjectView(sqla.ModelView): form_extra_fields = { 'revi

我试图使用以下命令保存项目的审阅者,选择字段显示正确:

# Query the user with Role.id == 4 as reviewer
def reviewer_choices():
    return User.query.join(User.roles).filter(Role.id == 4)

# Build a select field
class ProjectView(sqla.ModelView):
 form_extra_fields = {
    'reviewer': sqla.fields.QuerySelectField(
    label='Reviewer',
    query_factory=reviewer_choices,
 )}
但是,当我试图保存它时,出现了错误:

InterfaceError:(sqlite3.InterfaceError)绑定参数8时出错-可能是不支持的类型。[SQL:u'插入项目(…审阅者…)值(…)

我注意到审阅者是一个对象,类似于:
。那么审阅者的正确数据类型是什么,以便我可以将其保存到数据库中?我目前使用:

在项目类中

class Project(db.Model):
   # ...
   reviewer = db.Column(db.Unicode(128)) 
   # ...
在项目表中

CREATE TABLE `project` (
   # ...
   `reviewer1`  TEXT,
   # ...
我还试图定义
\uuuu repr\uuuu
\uu str\uuuu
,但两者都不起作用:

class User(db.Model, UserMixin):
   id = db.Column(db.Integer, primary_key=True)
   first_name = db.Column(db.String(255))
   # ...
   # ...
   def __repr__(self):
     return self.first_name

class User(db.Model, UserMixin):
   id = db.Column(db.Integer, primary_key=True)
   first_name = db.Column(db.String(255))
   # ...
   # ...
   def __str__(self):
     return self.first_name

很明显,审阅者是项目中定义的字符串。您可以在用户模型中定义一个
\uuu repr\uuu
函数来返回字符串(用户名或其他内容)。请检查此项。

谢谢,但它仍然不起作用,这次返回
接口错误:
。请尝试在用户模型中定义
\uuuuuu str\uuuu
函数。是的,我使用了
\uuu str\uuuu
,然后切换到
\uu repr\uuuuuuu
,但两者都不起作用。