J'ai un petit site web avec quelques utilisateurs et j'aimerais ajouter un champ à l'un de mes modèles (et donc aux tableaux.) Le problème est que syncdb
ne va bien sûr pas touchez les modèles existants et j'essaie de comprendre comment ajouter ce champ au modèle/table sans avoir à repeupler le tout.Ajout d'un champ à un modèle Django existant
Exemple:
class Newspaper(models.Model):
name = models.CharField()
class UserProfile(models.Model):
user = models.ForeignKey(user, unique=True)
reads = models.ManyToManyField(Newspaper)
Maintenant, je voudrais ajouter un champ URL (blank=True
) au modèle Newspaper
sans casser les profils utilisateur.
Des idées?
Je pense que c'est aussi une bonne idée de se sentir à l'aise de modifier vous-même vos bases de données, surtout quand il s'agit d'opérations simples comme l'ajout d'une nouvelle colonne ou d'une contrainte. C'est un excellent moyen d'apprendre les bases des bases de données de relations, ainsi que sur l'ORM de Django. Et c'est super facile une fois que vous savez comment. –
pourriez-vous nous dire comment? – holmeswatson
Et des années plus tard, South fait maintenant partie du noyau Django. –