我們的一臺服務器有4 gb的數據。但截至目前,我只對只有少量數據進行裝配感興趣。一個簡單的傾銷的數據是:限制django dumpdata中的燈具數量
python manage.py dumpdata --indent=4 > shipping_fixture.json
但這個麻煩的是這一切的數據轉儲到數據庫中。在測試中使用如此大量的數據沒有任何意義。有沒有什麼方法可以限制不會讓我感到沉重的數據量,並且我下載的數據本身是完整的。
我們的一臺服務器有4 gb的數據。但截至目前,我只對只有少量數據進行裝配感興趣。一個簡單的傾銷的數據是:限制django dumpdata中的燈具數量
python manage.py dumpdata --indent=4 > shipping_fixture.json
但這個麻煩的是這一切的數據轉儲到數據庫中。在測試中使用如此大量的數據沒有任何意義。有沒有什麼方法可以限制不會讓我感到沉重的數據量,並且我下載的數據本身是完整的。
最新的django(1.5.5)沒有這樣的選擇,但我認爲它很快會在未來的版本中出現。目前有一個票據實現了dumpdata命令的新功能,如果指定了模型,它將允許您根據主鍵過濾輸出的內容。
稱爲django-test-utils的第三方應用程序可能可以做你需要的。
我會建議使用Django序列化[1]。它有助於將自定義查詢轉儲到數據文件中。
要轉儲數據:
from django.core import serializers
with open("/tmp/file.json", "w") as f:
serializers.serialize('json', query, stream=f)
並加載數據:
with open("file.json", "r") as file:
data = file.read()
for obj in serializers.deserialize("json", data):
do_something_with_the_object(obj)
[1] https://docs.djangoproject.com/en/1.9/topics/serialization/
謝謝@JosephPaetz的建議編輯,更好的這種方式! – janos