Я группирую Category
элементов по CategoryGroup
элементам и хочу установить каскадное правило для удаления всех CategoryGroup
элементов, для которых не осталось Category
элементов.
Как лучше всего добиться этого с помощью SQLAlchemy?
from sqlalchemy import Column, ForeignKey, Integer, String
from sqlalchemy.orm import relationship
from database.connection import Base
class Category(Base):
__tablename__ = 'category'
id = Column(Integer, primary_key=True)
name = Column(String(500), nullable=False)
category_group_id = Column(Integer, ForeignKey('category_group.id'))
category_group = relationship('CategoryGroup', back_populates='categories')
class CategoryGroup(Base):
__tablename__ = 'category_group'
id = Column(Integer, primary_key=True)
name = Column(String(500), nullable=False)
categories = relationship('Category', back_populates='category_group')
Я попытался найти документацию по SQLAlchemy, но не смог найти сценарий, подходящий для этой ситуации. Лучше всего, чтобы это было как-то указано в Category
relationship
cascade=''
.