如上所述,对于与其他模型具有OneToOne关系的模型,here对象是自动创建的。因此,如果我将Model1与O2O连接到Model2,并将使用pk=1创建Model2的对象,那么将自动创建Model1与model2_id=1的对象。然后,如果我将数据从DB转储到json,我将拥有这些对象的两条记录。如果我试图用loaddata将这些数据加载到数据库中-它将失败,因为Model2的对象将被创建两次,这将导致唯一的索引冲突和IntegrityError。
有没有人能找到合理的解决方案?
附注:
我使用Django 1.3.7
发布于 2013-11-02 07:21:38
我做了类似的事情,不是用JSON,而是用xml,我的django是1.7,所以它可能不适合你。
也许像this one这样的类似帖子也是有帮助的。
发布于 2013-11-05 05:13:01
在转储数据fixture时,请确保使用--natural参数:
python manage.py dumpdata myapp --indent=4 --naturalhttps://docs.djangoproject.com/en/dev/ref/django-admin/#django-admin-option---natural
它看起来在1.7中被弃用了--自然的--外来的
发布于 2013-10-30 17:00:16
您可能最终会使用South,这使得数据迁移既简单又强大:
http://south.readthedocs.org/en/latest/about.html
随着Django1.6的到来,新的migrations module将取代旧的数据库命令,并使South过时。
https://stackoverflow.com/questions/18521796
复制相似问题