python 3.x - Flask-SQLAlchemy - How to append a value to a column? -


my total lack of knowledge in sql queries biting me hard right now.

in flask-sqlalchemy, how append value column has 1 without replacing 1 present?

i tried db.session.merge(user) , db.session.add(user) both end replacing value in column.

to more precise, users table has column named classes_id used record "id" field of gym classes attended. field needs updated many other classes "id" time goes.

just in case, here models

class classes(db.model):     __tablename__= 'classes'     id = db.column(db.integer, primary_key=true)     name = db.column(db.string(64))     date = db.column(db.datetime)     participants =  db.relationship('user', backref='classes', lazy='dynamic')     status = db.column(db.integer)  #1 = open, 0 = closed  class user(usermixin,db.model):     __tablename__ = 'users'     id = db.column(db.integer, primary_key=true)     username = db.column(db.string(64), unique=true, index=true)     email = db.column(db.string(64),unique=true,index=true)     firstname = db.column(db.string(64))     lastname = db.column(db.string(64))     fullname = db.column(db.string(64))     role_id = db.column(db.integer, db.foreignkey('roles.id'))     password_hash = db.column(db.string(128))     member_since = db.column(db.datetime(), default=datetime.utcnow)     last_seen = db.column(db.datetime(), default=datetime.utcnow)     notes = db.column(db.text())     classes_id = db.column(db.integer, db.foreignkey("classes.id")) 

and views.py

@main.route('/add_attendees/<int:class_id>',methods=['get','post']) @login_required def add_attendees(class_id):     form = find_member()     if form.validate_on_submit():         fullname = form.member_name.data         find_username = fullname.find('-')         username = fullname[find_username + 2:]         user = user.query.filter_by(username=username).first()         user.classes_id = class_id                   db.session.merge(user)         db.session.commit()     return redirect(url_for('.add_attendees',class_id = class_id)) return render_template('members_list.html',form=form) 

your models definitions not want. user.classes_id defines 1 value. right answer depends of requirements. type of relationships must there? many user many classes (m:m)? in case create models like:

user_to_classes = table('user_to_classes', base.metadata,     column('class_id', integer, foreignkey('class.id')),     column('user_id', integer, foreignkey('user.id')) )  class class(base):     ...     # old wrong code     # participants = ...     # here right definition     participants = relationship(         'user', secondary=user_to_classes, backref='classes')  # in user class should not write foreign keys , relations. # there `classes` field defined in backref of `class.participants 

you can add user class in following manner:

user = ...# code creates or selects user class_ = ...# code creates or selects class # here addition class_.participants.append(user) session.commit() 

look @ sqlalchemy docs relationships.