나는을 수행 할 수 있습니다 dumpdata
에서 장고 가 아니라 전체 응용 프로그램보다, 단 하나의 모델에, 만일 그렇다면, 어떻게?
앱의 경우 다음과 같습니다.
python manage.py dumpdata myapp
그러나 "myapp.mymodel"과 같은 특정 모델을 덤프하고 싶습니다. 그 이유는 동일한 응용 프로그램에서 덤프하고 싶지 않은 거대한 3 백만 개의 레코드와 데이터 세트가 있다는 것입니다.
나는을 수행 할 수 있습니다 dumpdata
에서 장고 가 아니라 전체 응용 프로그램보다, 단 하나의 모델에, 만일 그렇다면, 어떻게?
앱의 경우 다음과 같습니다.
python manage.py dumpdata myapp
그러나 "myapp.mymodel"과 같은 특정 모델을 덤프하고 싶습니다. 그 이유는 동일한 응용 프로그램에서 덤프하고 싶지 않은 거대한 3 백만 개의 레코드와 데이터 세트가 있다는 것입니다.
답변:
버전 1.1 이상에서 Django dumpdata
관리 명령을 사용하면 개별 테이블에서 데이터를 덤프 할 수 있습니다.
./manage.py dumpdata myapp1 myapp2.my_model
명령 줄에서 여러 앱과 모델을 분리 할 수도 있습니다. 표준 정의는 다음과 같습니다.
django-admin dumpdata [app_label[.ModelName] [app_label[.ModelName] ...]]
--indent 4
후dumpdata
언급했듯이 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