我正在使用 Flask 和 PostgreSQL 数据库以及 SQLAlchemy 进行一个项目。
我有一个Group对象,其中User包含一组成员的 ID。出于某种原因,当我尝试将 ID 添加到组时,它无法正确保存。
如果我尝试members.append(user_id),它似乎根本不起作用。但是,如果我尝试members += [user_id],该 id 将显示在列出所有组的视图中,但是如果我重新启动服务器,则添加的值不存在。然而,初始值是。
相关代码:
最初将组添加到数据库:
db = SQLAlchemy(app)
# ...
g = Group(request.form['name'], user_id)
db.session.add(g)
db.session.commit()
Run Code Online (Sandbox Code Playgroud)
组类:
from flask.ext.sqlalchemy import SQLAlchemy
from sqlalchemy.dialects.postgresql import ARRAY
class Group(db.Model):
__tablename__ = "groups"
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(128))
leader = db.Column(db.Integer)
# list of the members in the group based on user id
members = db.Column(ARRAY(db.Integer))
def __init__(self, name, leader): …Run Code Online (Sandbox Code Playgroud)