I have a many-to-many relationship in my models. This is what they look like:
class Post(db.Model): __tablename__ = 'Posts' id = db.Column(db.Integer, primary_key=True) tags_relationship = db.relationship('Tag', secondary=tags, backref=db. backref('posts', lazy='dynamic')) tags = association_proxy('tags_relationship', 'text') full_text = db.Column(db.Text, nullable=True) fulltext_vector = db.Column(TSVectorType('full_text')) class Tag(db.Model): id = db.Column(db.Integer, primary_key=True) text = db.Column(db.String(255)) tags = db.Table('tags', db.Column('tag_id', db.Integer, db.ForeignKey('tag.id')), db.Column('post', db.Integer, db.ForeignKey('Posts.id')) ) I need to add the ability to edit tags. I know how to add tags: def edit(id, tags=None): edit_post = Post.query.get(id) if tags is not None and tags != "": for tag in tags.split(','): tag = tag.strip(" ") if tag not in edit_post.tags: add_tags = Tag() add_tags.text = tag edit_post.tags_relationship.append(add_tags) db.session.add(add_tags) db.session.commit() This is what I'm doing for removing tags: for tag in edit_post.tags: if tag not in tags: edit_post.tags.remove(tag) db.session.commit() However, I can not delete the last remaining tag from a post. Once I add a tag, it seems like there has to be a minimum of 1 tag on that post, as I can add more, and I can remove all but the last remaining tag. What am I doing wrong? -- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sqlalchemy+unsubscr...@googlegroups.com. To post to this group, send email to sqlalchemy@googlegroups.com. Visit this group at http://groups.google.com/group/sqlalchemy. For more options, visit https://groups.google.com/d/optout.