是否可以使用SQLAlchemy中的ordering list extension来订购集合的所有实体。所以例如我有:
class Job(Base):
position = Column(Integer)
当我session.add(Job(position=2))
所有现有作业都使用正确的位置更新时。
示例:
Job | Pos
----------
A 1
B 2
然后在位置2(自动)添加C导致
Job | Pos
----------
A 1
C 2
B 3
编辑:现在我看到两种解决方法。第一个是使用事件手动修复订单,或者通过使用具有有序关系的帮助器类来修复第二个订单。但我正在寻找的是一个更纯粹的实现,重用现有代码(排序列表)而不需要辅助类的开销。