'directories', metadata,
Column(name='id', type_=Integer, primary_key=True),
Column(name='name', type_=String(64)),
Column('parent_id', Integer, ForeignKey('directories.id', ondelete='CASCADE'), nullable=True),
)
files = Table(
'files', metadata,
Column(name='id', type_=Integer, primary_key=True),
Column(name='name', type_=String(255), nullable=False),
Column('directory_id', Integer, ForeignKey('directories.id', ondelete='CASCADE'), nullable=False),
)
Если я удаляю директорию, ID которой хранится как ForeignKey в каких-то файлах, то файлы будут удалены вместе с директорией (каскадное удаление).
У меня стоит задача внедрить в каскадное удаление некий if, то есть удаляя директорию, я удаляю все файлы, кроме, например, тех, у которых поле name=‘cats’.
Можете подсказать или дать референс, сам не могу найти?
а что ты хочешь сделать с теми, у которых поле name='cats'?
Обсуждают сегодня