모델의 초기 데이터 제공하기.

응용프로그램을 처음 설정할 때 하드 코딩된 데이터로 데이터베이스를 미리 채우는 것이 유용합니다. 마이그레이션 또는 고정 장치와 함께 초기 데이터를 제공할 수 있습니다.

마이그레이션으로 초기 데이터 제공하기.

앱의 초기 데이터를 자동으로 로드하려면 :ref:〉데이터 마이그레이션’을 생성하십시오. 마이그레이션은 테스트 데이터베이스를 설정할 때 실행되므로:ref:〉일부 제한 사항’에 따라 데이터를 사용할 수 있습니다.

고정 장치를 통해 데이터를 제공합니다.

고정 장치를 사용하여 데이터를 제공할 수도 있지만 이 데이터는 TransactionTestCase.fixtures. 를 사용하는 경우를 제외하고 자동으로 로드되지 않습니다.

고정 장치는 Django가 데이터베이스로 가져오는 방법을 알고 있는 데이터의 모음입니다. 데이터가 이미 있는 경우 고정장치를 만드는 가장 간단한 방법은 :tembadmin:〉manage.py dumpdata〉 명령을 사용하는 것입니다. 또는 수동으로 고정장치를 작성할 수 있으며 고정장치는 JSON, XML 또는 YAML(PyYAML_installed) 문서로 작성할 수 있습니다. :doc:〉직렬화 설명서’는 지원되는 각:ref:〉직렬화 형식’에 대한 자세한 정보를 제공합니다.

그러나 한 예로 JSON에서 《사람》 모델의 고정장치는 다음과 같습니다.

[
  {
    "model": "myapp.person",
    "pk": 1,
    "fields": {
      "first_name": "John",
      "last_name": "Lennon"
    }
  },
  {
    "model": "myapp.person",
    "pk": 2,
    "fields": {
      "first_name": "Paul",
      "last_name": "McCartney"
    }
  }
]

그리고 YAML로 된 동일한 fixture 가 있습니다.

- model: myapp.person
  pk: 1
  fields:
    first_name: John
    last_name: Lennon
- model: myapp.person
  pk: 2
  fields:
    first_name: Paul
    last_name: McCartney

이 데이터는 앱 안에 있는 《고정장치》 디렉토리에 저장됩니다.

:djadmin:〉manage’를 호출하여 데이터를 로드할 수 있습니다.pyload data ``》는 당신이 만든 fixture 파일의 이름입니다. 실행할 때마다:djadmin:load data(로드 데이터)는 고정장치에서 데이터를 읽고 데이터베이스에 다시 로드됩니다. 이는 고정 장치에 의해 생성된 행 중 하나를 변경한 후 다음을 실행하는 경우입니다.데이터를 다시 로드하면 변경 내용이 모두 지워집니다.

Django가 고정 파일을 찾는 위치입니다.

기본적으로 Django는 각 앱에 있는 《fixtures》 디렉토리에서 고정 장치를 찾습니다. : 설정을 설정할 수 있습니다.FIXT_DIRS는 Django가 찾아야 할 추가 디렉토리 목록으로 설정됩니다.

실행 시 :djadmin:〉manage’입니다.py load data〉. 고정 파일 경로를 지정할 수도 있습니다. 이 경로는 일반적인 디렉터리 검색을 재정의합니다

더 보기

또한 :ref:〉testing framework’에서는 고정장치를 사용하여 일관된 테스트 환경을 설정할 수 있습니다.

Back to Top