我们有一个带有PostgreSQL 9.3后端的Django1.4.5项目。不幸的是,我们在尝试为其中一个应用程序(称为sddb)创建fixture时遇到了问题。
数据库中充满了属于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)。希望在这里找到正确的解决方案。

最佳答案

我也有同样的问题,它与数据库路由器有关。只需确保路由器正确处理allow_migrate方法(默认情况下,其中一个路由器应返回True或类似于True的值)。
请参阅此处的更多示例:Django Multiple databases Examples

关于django - Django dumpdata输出为空,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26252228/

10-11 04:56