Thanks Russ for your explanation.

You are right I did not understand Andrew correctly. Forgive me for my ignorance. :-)

I did not know there were so many ways to do the same thing.

Thank you very much for the example.

nav


On Sunday 23 September 2012 05:16 AM, Russell Keith-Magee wrote:
On Sat, Sep 22, 2012 at 3:18 PM, Nandakumar Chandrasekhar
<navanitach...@gmail.com> wrote:
Thanks Andrew but I have a requirement where I have to programmatically set
it to an unusable password based on a particular condition.

Andrew's given you the answer - it's just not clear that you've
understood what the answer is.

There are two ways to set a password on a user object:

  * Use the set_password() method on the user object.

  * Set the underlying password attribute directly.

The set_password() method is just applying the password hashing logic
and then saving the password field directly. If you want to set the
hashed value -- or set an "unusable" value -- directly, you can do the
same thing:

from django.contrib.auth.models import User, UNUSABLE_PASSWORD
user = User.objects.get(username='frank')
user.password
u'sha1$911ee$25e954dc93f920c134ebaa067da7827922e474a6'
user.has_usable_password()
True
user.set_password('foo')
user.password
'sha1$7h9Fpv6nLJt4$99f05f9b65569b617f32a448431736108e83be36'
user.has_usable_password()
True
user.password = UNUSABLE_PASSWORD
user.save()
user.password
'!'
user.has_usable_password()
False

Yours,
Russ Magee %-)


--
You received this message because you are subscribed to the Google Groups "Django 
users" group.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.

Reply via email to