est-il possible de changer le nom d'utilisateur?
J'ai essayé ce qui suit: - p> rien ne change p> Je peux changer le nom d'utilisateur dans L'écran de l'administrateur, mais il y a plus de 100 où le client a demandé à différents noms d'utilisateur. p> p>
3 Réponses :
Comme vous le note ( Django, modifier le nom d'utilisateur ), c'était une erreur dans Votre code - L'échantillon de code n'a pas reflété votre code. L'échantillon de code affiché fonctionnera en fait pour modifier un nom d'utilisateur code> utilisateur code> d'objet:
Jimscafe a déjà écrit que leur échantillon a fonctionné, cette réponse n'a donc pas beaucoup ajouté. Cela est probablement pourquoi vous avez été bullevé.
Il y a un scénario de plus possible pourquoi le nom d'utilisateur ne change pas après ... p>
Votre nom d'utilisateur dans l'objet utilisateur a par défaut la longueur maximale de 30 et vous essayez de changer le nom d'utilisateur à quelque chose de plus long que 30 caractères et les 30 premiers caractères du nouveau nom d'utilisateur nouveau et ancien sont les mêmes;) P>
Avant de modifier le nom d'utilisateur, assurez-vous également que le nom d'utilisateur n'existe pas déjà:
if User.objects.filter(username=newusername).exists():
raise forms.ValidationError(u'Username "%s" is not available.' % newusername)
user = User.objects.get(username = username)
user.username = newusername
user.save()
Si l'utilisateur existe, mais l'utilisateur est le nom d'utilisateur de la modification de l'utilisateur? Je vérifierais également si l'utilisateur existant n'est pas le même utilisateur qui change son nom d'utilisateur.
Avez-vous vérifié si vous obtenez un résultat? Bien que vous ayez une sorte d'erreur pour cela. Mettez votre
user = user.Oberject.get (nom d'utilisateur = nom d'utilisateur) code> à l'intérieur d'une prise try avec une exceptionuser.doesNotexist code>Je pense que le code va fonctionner, si étrange.
Que voulez-vous dire, "rien ne change"? Ce code fonctionnera en supposant que votre modèle code> utilisateur code> a un nom d'utilisateur code> code>.
Avez-vous l'intention de changer le nom d'utilisateur de l'USERTYPE qui vient avec Django? Comme superutilisateur, etc.?
Argh !!! J'ai raté le () sur la sauvegarde - Désolé gars, un de ces moments idiotes pour moi. Merci pour votre patience. Ça fonctionne maintenant.
@jimscafe Pouvez-vous poster une réponse à votre question et accepter la réponse
Voir cette réponse, cela a fonctionné pour moi: Modifier le nom d'utilisateur pour l'utilisateur authentifié dans le modèle utilisateur de Django