Ramin Farajpour Cami
Ramin Farajpour Cami

Reputation: 1685

how to update django auth_user with queryset?

I use username='admin' and password='hash' i will update auth_user with ID table

UsermodelUpdate= User.objects.filter(id=RSAEnrcyption().decrypt_RSA(request.session['privateKEY'],GetID)).update(username='ramin')
UsermodelUpdate.set_password(getPassWordUI)
UsermodelUpdate.save()

i get error :

IntegrityError: (1062, "Duplicate entry 'ramin' for key 'username'")

Upvotes: 1

Views: 1509

Answers (2)

Muhammad Hassan
Muhammad Hassan

Reputation: 14391

You are using filter which is used to fetch multiple records. As you are filtering using id, You will get unique record. You can do this like this

UsermodelUpdate= User.objects.get(id=RSAEnrcyption().decrypt_RSA(request.session['privateKEY'],GetID))
UsermodelUpdate.username = 'unique_username'
UsermodelUpdate.set_password(getPassWordUI)
UsermodelUpdate.save()

But if you want to perform this function for multiple records, you can do this like this

UsermodelUpdate= User.objects.filter(id=RSAEnrcyption().decrypt_RSA(request.session['privateKEY'],GetID)).update(username='unique_username')
for user in UsermodelUpdate:
    user.set_password(getPassWordUI)
    user.save()

Upvotes: 3

Aviah Laor
Aviah Laor

Reputation: 3658

UsermodelUpdate.set_password(GetPassWordUI())

Upvotes: 0

Related Questions