Eu adicionei alguns modelos no meu models.py e eu quero adicionar uma classe de administração para usar um editor wysiwyg em campos de texto.
Bem, eu sei que o Django em si não suporta migrações e eu usei o Sul, mas ele também não funciona.
O Sul não "vê" a mudança.
Será que Sul só detecta mudanças nos campos, mas não se eu adicionar uma nova classe?
Como eu posso ajustar o Django para detectar essas mudanças?
Respostas:
1 para resposta № 1Você parece estar muito confuso, infelizmente. É claro que o Django lê o código em models.py - caso contrário, qual seria o sentido disso? O Django usa esse código inicialmente para definir o modelo SQL ao fazer o syncdb, mas ele não modifica o banco de dados existente mesas em chamadas subseqüentes ao syncdb - daí a necessidade do Sul.
Mas, naturalmente, o Django usa models.py e admin.py e todos os outros códigos Python para definir sua própria configuração e estado. (E note que as classes admin não estão definidas em models.py mas em admin.py.)
Se você não estiver vendo as alterações, será necessário reiniciar o servidor.
2 para resposta № 2
syncdb
e Sul estão preocupados apenas com descendentes de Model
nos aplicativos listados em INSTALLED_APPS
. Tudo o resto é tratado pelo Django diretamente.
1 para resposta № 3
Tenho quase certeza que se você seguir os passosdelineado no tutorial para criar um aplicativo administrativo, ele simplesmente funcionará. A migração não é um problema, pois o aplicativo administrativo cria novas tabelas em vez de alterar a existente.