Код: Выделить всё
class Source(Base):
id = sa.Column(sa.Text, primary_key=True)
hpx = sa.Column(ha.Point, index=True, nullable=False)
class Field(Base):
id = Column(Integer, primary_key=True, autoincrement=True)
tiles = relationship(lambda: FieldTile, order_by='FieldTile.id', cascade="all, delete, delete-orphan")
class FieldTile(Base):
id = Column(ForeignKey(Field.id, ondelete='CASCADE'), primary_key=True)
hpx = Column(Tile, primary_key=True, index=True)
Я хотел бы иметь возможность удалять поля и связанные с ними FieldTiles из базы данных с помощью каскадного удаления:
Код: Выделить всё
previous_fields = db.query(Field).first()
db.delete(previous_fields)
db.commit()
Код: Выделить всё
sqlalchemy.exc.InvalidRequestError: Could not sort objects by primary key; primary key values must be sortable in Python (was: '
Подробнее здесь: [url]https://stackoverflow.com/questions/78695838/sqlalchemy-cascading-deletes-and-non-sortable-primary-keys[/url]