追加到SQLAlchemy可变列表(getting can't adapt type“Post”错误)

2024-09-29 23:15:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用SQLAlchemy/Postgres/Flask作为一个web应用程序。我试图在我的用户表中追加posts列表。这里是使用可变列表的代码,我复制并粘贴了MutableList类:http://www.kirang.in/2014/08/09/creating-a-mutable-array-data-type-in-sqlalchemy/

但是,当我提交调用下面的路由的表单时,我得到一个错误“cannotadaptypetype'Post”。它确实打印出了“madeit”打印语句。在

如果我不使用数据库会话提交(),提交完成,但posts列表在select * from users之后仍为空。如何在我的数据库中追加这个posts列表?在

class User(db.Model):
    __tablename__ = "users"
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(120), unique=True)
    first_name = db.Column(db.String(120), unique=False)
    last_name = db.Column(db.String(120), unique=False)
    posts = db.Column(MutableList.as_mutable(ARRAY(db.String)), unique = False)

    def __init__(self,username,first_name,last_name):
        self.username = username
        self.first_name = first_name
        self.last_name = last_name
        self.posts = []

    def add_post(self, post):
        self.posts.append(post)

在我的路线中:

^{pr2}$

Tags: nameinselffalse列表dbstringusername

热门问题