django では、あるデータベース内の同一のテーブルから別のデータベース内のテーブルにデータをコピーしたいと考えています。「db01」から「デフォルト」へ。スキーマは同一です。
>>> a=Household.objects.filter(h_identifier='H122000-48').using('db01')
>>> a[0].pk
>>> u'451465ea-0137-11e0-879a-70f1a16e0f80'
>>> a[0].save(using='default')
>>> b=Household.objects.filter(h_identifier='H122000-48').using('default')
>>> b[0].pk
>>> u'7c2484fe-8641-11e0-b080-00188b4d6b0e'
動作しますが、'default' に挿入されたレコードの主キーは、'db01' からフェッチされたものと同じではありません。他のテーブルとの整合性を維持するために、pk を変更してはなりません。django docs セクションselecting-a-database-for-saveは、インスタンス「a」にはすでにプライマリがあるため、新しいレコードが「デフォルト」に挿入されるときに同じプライマリキーが使用されることを示唆しています。私はそれをすることができません。
これができるかどうか誰にもわかりますか?前もって感謝します!!
(これは奇妙なセットアップのように思えるかもしれませんが、アプリケーションは日中は切断されたネットブックで独立して実行され、データはすべてのネットブックがドッキングされている夜間にマスター データベースにマージされます。mysql で問題なく実行できますが、可能であれば、django ORM を使用してください。)