2022年 11月 5日

python 对象转字符串_PythonFlask:如何将查询对象转换为字符串?

这个问题困扰了我很长一段时间,我搜索了几天,但仍然无法解决,包括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,

# …