我们有一个带有PostgreSQL 9.3后端的Django 1.4.5项目。不幸的是,我们在尝试为其中一个应用程序(称为sddb)创建fixtures时会遇到问题。
数据库中充满了属于sddb应用程序的对象:
(venv)[root@dl380p1 team112]# ./manage.py shell
>>> from sddb.models.media import Metadata
>>> len(Metadata.objects.all())
22916但是,dumpdata输出为空:
(venv)[root@dl380p1 team112]# ./manage.py dumpdata sddb
[]显式地指向数据库(提到的here)没有帮助:
(venv)[root@dl380p1 team112]# ./manage.py dumpdata --database=project_test sddb
[]对于其他应用程序,dumpdata运行正常:
(venv)[root@dl380p1 team112]# ./manage.py dumpdata reports | wc -c
239811由于显而易见的原因,我不想使用整个表转储(pgdump)。希望在这里找到正确的解决方案。
发布于 2014-10-21 18:03:38
我也遇到了同样的问题,这与DB路由器有关。只需确保路由器正确处理allow_migrate方法(默认情况下,其中一个路由器应返回True或类似True的值)。在这里查看更多示例:Django Multiple databases Examples
发布于 2022-01-28 05:06:36
我没有多个数据库,但在转储时仍然会得到空的fixture。
我不得不在我的应用程序中添加一个单独的空models.py来转储数据。
https://stackoverflow.com/questions/26252228
复制相似问题