From 2e1051bb2eae1fbf967d2bc70127dd7474177366 Mon Sep 17 00:00:00 2001 From: Tom Hubrecht Date: Fri, 20 Aug 2021 15:07:36 +0200 Subject: [PATCH] =?UTF-8?q?Cr=C3=A9ation=20des=20users=20d'un=20seul=20cou?= =?UTF-8?q?p?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- elections/utils.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/elections/utils.py b/elections/utils.py index cd4facb..32499f7 100644 --- a/elections/utils.py +++ b/elections/utils.py @@ -322,13 +322,23 @@ def create_users(election, csv_file): """Crée les votant·e·s pour l'élection donnée, en remplissant les champs `username`, `election` et `full_name`. """ + User = get_user_model() + dialect = csv.Sniffer().sniff(csv_file.readline().decode("utf-8")) csv_file.seek(0) reader = csv.reader(io.StringIO(csv_file.read().decode("utf-8")), dialect) - for (username, full_name, email) in reader: - election.registered_voters.create( - username=f"{election.id}__{username}", email=email, full_name=full_name + + users = [ + User( + election=election, + username=f"{election.id}__{username}", + email=email, + full_name=full_name, ) + for (username, full_name, email) in reader + ] + + User.objects.bulk_create(users) def check_csv(csv_file):