208 votes

Django - Comment renommer un champ de modèle en utilisant South ?

Je souhaite modifier le nom de certains champs d'un modèle :

class Foo(models.Model):
    name = models.CharField()
    rel  = models.ForeignKey(Bar)

doit être remplacé par :

class Foo(models.Model):
    full_name     = models.CharField()
    odd_relation  = models.ForeignKey(Bar)

Quel est le moyen le plus simple d'y parvenir en utilisant South ?

0voto

ancho Points 109
  1. Ajouter south à vos applications installées dans le fichier de configuration du projet.
  2. Commentez le champ/la table ajouté(e)/modifié(e).
  3. $ manage.py Schemamigration <app_name> --initial
  4. $ manage.py migrate <app_name> --Fake
  5. Décommenter le champ et écrire le champ modifié
  6. $ manage.py Schemamigration --auto
  7. $ manage.py migrate <app_name>

Si vous utilisez 'pycharm', vous pouvez utiliser 'ctrl+shift+r' au lieu de 'manage.py', et 'shift' pour les paramètres.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X