Resumo : neste tutorial, você aprenderá como usar o loaddata
comando Django para fornecer dados iniciais para modelos.
Introdução ao comando loaddata do Django
O comando Django loaddata
permite carregar dados de um arquivo no banco de dados. Normalmente, você usa o dumpdata
comando para exportar dados de um banco de dados e usa o loaddata
comando para importar dados do arquivo para o mesmo ou outro banco de dados.
O seguinte mostra a sintaxe do loaddata
comando:
python manage.py loaddata fixture_name
Linguagem de código: Python ( python )
Um fixture é uma coleção de arquivos de dados que o Django usará para importar para um banco de dados.
Por convenção, o Django irá procurar pelos fixtures no fixtures
diretório de cada aplicação e importar dados deles.
Por exemplo, o seguinte mostra o diretório e hr.json
arquivo de fixtures na hr
aplicação do projeto:
├── admin.py
├── apps.py
├── fixtures
| └── hr.json
...
Linguagem de código: Python ( python )
A seguir mostra o trecho do hr.json
arquivo:
[
{
"model": "hr.contact",
"pk": 1,
"fields": {
"phone": "40812345678",
"address": "101 N 1st Street, San Jose, CA"
}
},
{
"model": "hr.contact",
"pk": 2,
"fields": {
"phone": "4081111111",
"address": "202 N 1st Street, San Jose, CA"
}
},
...
Linguagem de código: Python ( python )
Para carregar o hr.json
banco de dados, você usa o seguinte loaddata
comando:
python manage.py loaddata hr.json
Linguagem de código: Python ( python )
Configurações do diretório de fixtures
Por padrão, o Django encontra os arquivos de dados no fixtures
diretório dentro de cada aplicativo. Para especificar diretórios adicionais que contêm os arquivos de fixtures, você pode defini-los na FIXTURE_DIRS
lista do settings.py
arquivo:
FIXTURE_DIRS = ['path/to/fixtures/dir', 'path/to/fixtures/dir2']
Linguagem de código: Python ( python )
Carregando dados de amostra de RH usando o comando loaddata do Django
Usaremos o loaddata
comando para carregar dados de fixtures para a HR
aplicação do projeto Django.
Primeiro, baixe o código-fonte do projeto e extraia-o para um diretório:
O hr/fixtures
diretório contém o data.json
arquivo que contém dados de amostra de RH.
Segundo, execute o loaddata
comando para carregar dados do data.json
arquivo:
python manage.py loaddata data.json
Linguagem de código: CSS ( css )
Deve gerar algo assim:
Installed 471 object(s) from 1 fixture(s)
Linguagem de código: JavaScript ( javascript )
Resumo
- Use o
loaddata
comando Django para carregar dados de fixtures no banco de dados.