我想從Django 1.3 Fixtures轉儲數據到json使用以下,但結果是一個空的列表。任何在這裏做錯了?Django 1.3爲特定的應用程序燈具
python manage.py dumpdata <app-name> --format=json --indent 5 > C:\temp\tt.json
編輯:感興趣的應用程序不是默認的數據庫別名。能夠成功使用dumpdata
作爲默認數據庫別名,而不提及<app-name>
,但不能用於其他數據庫。
謝謝。
我想從Django 1.3 Fixtures轉儲數據到json使用以下,但結果是一個空的列表。任何在這裏做錯了?Django 1.3爲特定的應用程序燈具
python manage.py dumpdata <app-name> --format=json --indent 5 > C:\temp\tt.json
編輯:感興趣的應用程序不是默認的數據庫別名。能夠成功使用dumpdata
作爲默認數據庫別名,而不提及<app-name>
,但不能用於其他數據庫。
謝謝。
Django 1.2中的新增功能是所有manage.py命令的常用選項--database
。你可以使用'='或者一個空格。因此,請試試看:
python manage.py dumpdata <app-name> --database <other_db> --format=json --indent 5 > C:\temp\tt.json
此外,我找到了一個更靈活的dumpdata解決方案。首先,dumpdata(doc)可能會讓你感到困惑,如果你在你的模型上有自定義管理器,儘管這可以理解Django 1.3的--all
選項。對於兩人來說,dumpdata並沒有對它的輸出進行排序,而當我想要乾淨利落的燈具數據時,這讓我很煩惱。或者說你只想要轉儲/導出一些模型數據。相反,我使用Django Serialization。這使我可以挑選出任何數據我想用正常的Querysets - 過濾,排序,排除等 - 然後將其序列化爲JSON(或XML)。例如:
python manage.py shell
>>> from django.core import serializers
>>> from <your project>.<app>.models import MyModel
>>> serializers.serialize('json', MyModel.objects.all().order_by('name'), use_natural_keys=True)
然後在文本編輯器中重新格式化並粘貼到夾具文件中。
應該是--indent=5
而不是--indent 5
。不知道這是你的問題,但值得嘗試。
另外,FWIW,JSON是默認值,所以--format=json
是不必要的。
其實,剛剛測試過,並且缺少'='並不會導致問題。你有什麼應該工作。你確定有實際的數據嗎? –
是的,有數據。
首先,試試這個:
python manage.py dumpdata <app-name>
如果你看到在輸出相同的數據時,第二個應該工作!
後,嘗試了這一點:
python manage.py dumpdata <app-name> --indent 2 > C:\temp\tt.json
但是,應確保它在你的settings.INSTALLED_APPS並且還具有完全相同的名字!
超級。非常感謝所有有用的信息.. –