Django: Substituindo verbose_name para AutoField sem deixar cair o modelo

votos
3

Eu estou usando 0,97-pre-SVN-desconhecido lançamento de Django.

Eu tenho um modelo para que eu não tenha dado qualquer primary_key. Django, consequentemente, fornece automaticamente uma AutoField que é chamado de id. de bem com isso tudo. Mas agora, eu tenho que mudar o verbose_name de que AutoField para algo diferente de id. Eu não posso substituir o campo id da maneira usual, porque isso exigiria queda / redefinir todo o modelo e seus dados (que estritamente não é uma opção). Não consigo encontrar outra maneira de contornar isso. Faz o que eu quero mesmo possível alcançar? Se você pode sugerir alternativas que iria me afastar com o que eu quiser sem ter que cair modelo / tabela, eu ficaria feliz.

Muito Obrigado.

Publicado 03/11/2008 em 15:27
fonte usuário
Em outras línguas...                            


2 respostas

votos
4

Hmm ... e que sobre explicitamente escrever id campo na definição do modelo? Assim, por exemplo:

class Entry(models.Model):
   id = models.AutoField(verbose_name="custom name")
   # and other fields...

Ele não requer quaisquer alterações de banco de dados subjacentes.

Respondeu 03/11/2008 em 16:57
fonte usuário

votos
2

Olhar para as opções de linha de comando para manage.py; há um comando para despejar todos os dados modelo para JSON, e um outro comando para carregá-lo de volta a partir JSON. Você pode exportar todos os seus dados modelo, adicione seu novo campo para o modelo, em seguida, importar os dados de volta. Apenas certifique-se de que você definir a db_columnopção para 'id'que você não quebrar os seus dados existentes.

Editar : Especificamente, você quer que os comandos dumpdatae loaddata.

Respondeu 03/11/2008 em 16:42
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more