我已经开始使用Django提供的默认自动处理ID模型。
现在我已开始与外部系统连接,该外部系统具有自己的相同对象ID,将自己的ID与外部系统对齐非常方便。
然而,数值范围重叠,所以天真的解决方案不起作用。
是否有一些优雅的方式以安全的方式更改ID? (该对象有多个外键/ m2ms等)
由于
答案 0 :(得分:0)
我不知道这是否是最好的方法,但我会将所有外来/ m2m密钥设置为级联更新,并为django数据库中的所有ID添加一个已定义的数字,以消除范围的重叠(10k或100K或更依赖于你的数据)。
完成后,您可以从其他系统复制ID。为了安全起见,我会在执行此操作时复制ID列,以免丢失原始列...直到确定一切正常