Bonjour à tous !

J'ai un petit problème, j'utilise Django pour faire un petit site et je voudrais hacher les mots de passe que les utilisateurs créent. J'ai décidé d'utiliser Bcrypt mais lorsque je remplis le formulaire d'inscription et que je le valide j'ai une erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
Exception Type: DataError
Exception Value: ERREUR:  valeur trop longue pour le type character varying(30)
Au début je pensais que c'était parce qu'au niveau de mon attribut password j'avais mis maximum 20 caractères donc j'ai modifié à 256 caractères :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
class User(models.Model):
    username = models.CharField(max_length=50, unique=True)
    email = models.EmailField(max_length=100, unique=True)
    password = models.CharField(max_length=256)
 
    def __str__(self):
        return self.username
Mais j'ai toujours cette erreur, je vous mets mon views.py où j'utilise Bcrypt :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
from django.shortcuts import render, redirect
from .forms import UserSignUpForm, ParagraphErrorList
from django.contrib import messages
from .models import User
import bcrypt
 
def signup(request):
    if request.method == 'POST':
        form = UserSignUpForm(request.POST, error_class=ParagraphErrorList)
        if form.is_valid():
            email = form.cleaned_data['email']
            username = form.cleaned_data['username']
            password = form.cleaned_data['password'].encode("utf-8")
 
            enc_password = bcrypt.hashpw(password, bcrypt.gensalt())
 
            user = User.objects.filter(email=email, username=username)
            if not user.exists():
                user = User.objects.create(
                    email=email,
                    username=username,
                    password=enc_password
                )
            messages.success(request, 'Votre compte a bien été créé, vous pouvez vous connecter !')
            return redirect('/signin/')
    else:
        form = UserSignUpForm()
    return render(request, 'store/signup.html', {'form': form})
Est-ce que vous pourriez me dire d'où vient cette erreur ? Je ne comprends pas là

Merci à tous !