这个问题困扰了我很长一段时间,我搜索了几天,但仍然无法解决,包括this,this,和{a3}。在
下面的代码返回一个查询对象,它正确地显示在select字段中。
但是当提交到数据库时,出现了错误。在# 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(
query_factory=reviewer_choices,
)}
我试图定义__repr__和{},以便将其转换为字符串,但是没有任何其他方法可以将查询对象转换为字符串吗?提前谢谢。在
1。__代表:
错误返回:sqlalchemy.exc.InterfaceError
InterfaceError:
^{pr2}$
2。__结构:
错误返回:sqlalchemy.exc.InterfaceError InterfaceError: (raised as a result of
Query-invoked autoflush; consider using a session.no_autoflush block
if this flush is occurring prematurely) (sqlite3.InterfaceError) Error
binding parameter 8 – probably unsupported type. [SQL: u’INSERT INTO
projectclass 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
我目前使用:
在项目类中class Project(db.Model):
# …
reviewer = db.Column(db.Unicode(128))
# …
在项目表中CREATE TABLE `project` (
# …
`reviewer1` TEXT,
# …