我可以只在一個模型上執行 Django而不是整個應用程序,如果是這樣,怎麼辦?Django傾倒單個模型的數據?
對於應用將是:
python manage.py dumpdata myapp
不過,我想一些具體的模型,如「myapp.mymodel」轉儲。原因是,我有一些巨大的300萬條記錄加上同一個應用程序中的數據集,我不喜歡這些數據集。
我可以只在一個模型上執行 Django而不是整個應用程序,如果是這樣,怎麼辦?Django傾倒單個模型的數據?
對於應用將是:
python manage.py dumpdata myapp
不過,我想一些具體的模型,如「myapp.mymodel」轉儲。原因是,我有一些巨大的300萬條記錄加上同一個應用程序中的數據集,我不喜歡這些數據集。
作爲解決方法,您可以製作另一個應用程序並複製模型,但使用db_table元選項將其指向現有表。然後,您可以將您複製的模型轉儲到新應用程序中。您現有的應用程序不會受到影響。
如上所述,您無法通過Django 1.0中的manage.py命令執行此操作。但是你可以使用腳本來導出JSON文件,並使用loaddata
加載:
from django.core import serializers
from myproject.myapp import models
data = serializers.serialize("json", models.MyModel.objects.all())
out = open("mymodel.json", "w")
out.write(data)
out.close()
我創建了一個管理命令的產生在每個模型基礎上的常客。 燈具可以通過運行產生:
./manage generate_fixtures app.model.MyModel --file=dump/MyModel.json
對於成功,我說了兩遍,並指定型號的兩倍,如:
./manage.py dumpdata myapp2.my_model myapp2.my_model
如果我只說
./manage.py dumpdata myapp2 myapp2.my_model
我被所有的模型充斥在myapp2,儘管我指定了my_model。
將所有數據從django模型轉換爲json格式。
語法:
python manage.py dumpdata app_name.model_name
對於例如傾銷從group_permission模型,其駐留在缺省auth應用在Django數據。
python manage.py dumpdata auth.group_permission
對於輸出採取控制檯上看看。
我覺得你的問題不容易理解。你想加載一個SQL轉儲到你的數據庫?或者你想做一些toString()和模型的實例? – 2009-07-11 06:42:16