Как удалить сообщение и автоматически удалить его соответствующие записи post_tags.Но не удаляйте теги?
Как его настроить?
код модели
post_tags = db.Table('post_tags',
db.Column('post_id', db.Integer, db.ForeignKey('posts.id',ondelete='CASCADE'),
primary_key=True),
db.Column('tag_id', db.Integer, db.ForeignKey('tags.id',ondelete='CASCADE'), primary_key=True)
)
class Posts(db.Model):
__tablename__ = "posts"
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(40))
tags = db.relationship("Tags", secondary=post_tags, backref=db.backref("posts", lazy="dynamic"),
lazy="dynamic",cascade="all, delete-orphan",single_parent=True) #,passive_deletes=True
class Tags(db.Model):
__tablename__ = "tags"
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(40))
post = Posts.query.get(1)
db.session.delete(post) # how to auto delete `post_tags`record,but dont delete `tags`record.
db.session.commit()
запустить
post = Posts.query.get(1)
db.session.delete(post) # how to auto delete `post_tags`record,but dont delete `tags`record.
db.session.commit()
когда я выполняю код, этот пост, post_tags и теги , все удаляются.я только хочу удалить post и post_tags.Как мне его настроить?
========================================
я ничего не добавляю, это идеально.
tags = db.relationship("Tags", secondary=post_tags,backref=db.backref("posts", lazy="dynamic"),lazy="dynamic")