2010-09-17 98 views
1

我已經開始使用Django提供的默認自動處理ID的模型。Django:如何重新排列對象ID

現在我已經開始與外部系統進行接口連接,該系統對同一個對象有自己的ID,並且將我自己的ID與外部系統對齊會非常方便。

但是,數字範圍重疊,所以一個天真的解決方案將無法正常工作。

是否有一些優雅的方式來以安全的方式改變ID? (對象有多個外鍵/ m2ms等)

感謝

回答

0

我不知道這是不是最好的方式,但我會設置所有外國/ M2M鍵級聯更新和定義的號碼添加到所有在Django的數據庫ID刪除重疊的範圍(10K或100K或更多依賴於您的數據)。

完成後,您可以從其他系統複製ID。爲了安全起見,我會在複製ID列的同時做到這一點,以便不會丟失原來的...直到確保所有工作正常