在 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'
它可以工作,但插入到“默认”中的记录的主键与从“db01”中获取的主键不同。为了保持与其他表的完整性,pk 不得更改。django 文档部分选择-a-database-for-save建议由于实例“a”已经有一个主键,因此当将新记录插入“默认”时将使用相同的主键。我不能让它这样做。
有谁知道这是否可以做到?提前致谢!!
(这可能看起来像一个奇怪的设置,但应用程序白天在断开连接的上网本上独立运行,并且在所有上网本都停靠的夜间数据合并到主数据库中。我可以在 mysql 中做得很好,但想如果可能,请使用 django ORM。)