Posso executar um dumpdata
no Django em apenas um modelo, em vez de no aplicativo inteiro, e se sim, como?
Para um aplicativo, seria:
python manage.py dumpdata myapp
No entanto, quero que um modelo específico, como "myapp.mymodel", seja despejado. A razão é que eu tenho alguns enormes 3 milhões de registros, mais, conjuntos de dados no mesmo aplicativo que eu não gostaria que fossem descartados.
django
django-models
loaddata
dumpdata
nategood
fonte
fonte
Respostas:
A partir da versão 1.1 e posterior, o
dumpdata
comando de gerenciamento do Django permite despejar dados de tabelas individuais:Você também pode separar vários aplicativos e modelos na linha de comando. Aqui está a definição canônica:
fonte
--indent 4
depoisdumpdata
Como observado, você não pode fazer isso através de um comando manage.py no Django 1.0. No entanto, você pode usar um script para exportar o arquivo JSON e carregá-lo usando
loaddata
:fonte
Pegue todos os dados no formato json do modelo django.
Sintaxe:
Por exemplo, descarregar dados do modelo group_permission que residem no aplicativo de autenticação padrão no django.
Para saída, dê uma olhada no console .
fonte
Eu acho que você tinha a solução em sua pergunta. Você pode despejar um modelo individual como este:
fonte
Para ter sucesso, tive que repetir duas vezes e especificar o modelo duas vezes, como:
Se eu apenas dissesse
Fui inundado com todos os modelos no myapp2, apesar de ter especificado o meu_model.
fonte
Como solução alternativa, você pode criar outro aplicativo e copiar o modelo, mas apontá-lo para a tabela existente com a opção meta db_table. Então você pode simplesmente despejar os modelos copiados no novo aplicativo. Seu aplicativo existente não seria afetado.
fonte
Eu criei um comando de gerenciamento para gerar um dispositivo elétrico por modelo. Os equipamentos podem ser gerados executando:
código em: https://gist.github.com/2394883
fonte
Para escrevê-lo em arquivo específico:
fonte