class Unit(SurrogatePK, Model):
__tablename__ = 'units'
id = Column(db.String, primary_key=True)
request_unit_assoc = Table('request_unit_assoc', db.metadata,
Column('request_id', db.Integer,
db.ForeignKey('requests.id')),
Column('unit_id', db.String(30),
db.ForeignKey('units.id'))
)
class Request(SurrogatePK, Model):
__tablename__ = 'requests'
units = relationship('Unit', secondary=request_unit_assoc, backref='requests', lazy='dynamic')
units = Unit.query.with_parent(req).filter(Unit.id.notin_(unit_ids)).all()
for unit in units:
req.units.remove(unit)
req.save()
При удалении большого количество Unit из коллекции возникает исключение sqlalchemy.orm.exc.StaleDataError:
sqlalchemy.orm.exc.StaleDataError: DELETE statement on table 'request_unit_assoc' expected to delete 26265 row(s); Only 26267 were matched.
1. Объясните, пожалуйста, суть ошибки.
2. Как разом и быстро удалить набор Unit из request.units?
Спасибо.