Django:如何重新排列对象id

时间:2010-09-17 21:48:54

标签: django django-models

我已经开始使用Django提供的默认自动处理ID模型。

现在我已开始与外部系统连接,该外部系统具有自己的相同对象ID,将自己的ID与外部系统对齐非常方便。

然而,数值范围重叠,所以天真的解决方案不起作用。

是否有一些优雅的方式以安全的方式更改ID? (该对象有多个外键/ m2ms等)

由于

1 个答案:

答案 0 :(得分:0)

我不知道这是否是最好的方法,但我会将所有外来/ m2m密钥设置为级联更新,并为django数据库中的所有ID添加一个已定义的数字,以消除范围的重叠(10k或100K或更依赖于你的数据)。

完成后,您可以从其他系统复制ID。为了安全起见,我会在执行此操作时复制ID列,以免丢失原始列...直到确定一切正常