J'ai un CharField sur un Django (1.9) modèle:Comment réduire max_length de CharField dans Django lorsque les données existent déjà dans db
alias = models.CharField(max_length=50)
L'application est utilisée et a déjà des données, et il y a des objets en utilisant tous les 50 caractères déjà. Quelle est la méthode la plus simple pour réduire la longueur max_length de ce champ sans recevoir de plaintes de ma base de données de production lorsque j'essaie de migrer? DB est postgresql si cela fait une différence.
voulez-vous garder ces textes? ou les supprimer? – Exprator
il suffit de changer la définition dans models.py ... cela l'appliquera du côté de pythons lors de la définition de nouvelles valeurs, mais ne changera pas la contrainte sur la base de données ... –
'fron django.db.models importer F; MyModels.objects. update (alias = F ('alias') [: new_length]) '(je pense!) va raccourcir tous les champs existants si c'est votre question –