Rend kfetloaddevdata idempotent
Problème : Le script assigne des trigrammes 001, 002, 003, etc aux comptes COF des Gaulois et des Romains en utilisant l'ordre du queryset CofProfile.objects.all(). L'ordre des comptes dans le queryset n'est pas spécifié et peut varier d'une exécution à l'autre, ça pose problème dans la suite : Account.objects.get_or_create(trigramme=trigramme, cofprofile=profile) Cette command essaie de créer un nouveau trigramme pour certains comptes quand l'ordre change. Solution : Ordonner le queryset.
This commit is contained in:
parent
cc3a436750
commit
5d22a4cac4
1 changed files with 4 additions and 2 deletions
|
@ -52,10 +52,12 @@ class Command(MyBaseCommand):
|
||||||
|
|
||||||
self.stdout.write("Création des comptes K-Fêt")
|
self.stdout.write("Création des comptes K-Fêt")
|
||||||
|
|
||||||
gaulois = CofProfile.objects.filter(user__last_name="Gaulois")
|
cof_profiles = CofProfile.objects.order_by("user__username")
|
||||||
|
|
||||||
|
gaulois = cof_profiles.filter(user__last_name="Gaulois")
|
||||||
gaulois_trigramme = map("{:03d}".format, range(50))
|
gaulois_trigramme = map("{:03d}".format, range(50))
|
||||||
|
|
||||||
romains = CofProfile.objects.filter(user__last_name="Romain")
|
romains = cof_profiles.filter(user__last_name="Romain")
|
||||||
romains_trigramme = map(lambda x: str(100 + x), range(99))
|
romains_trigramme = map(lambda x: str(100 + x), range(99))
|
||||||
|
|
||||||
created_accounts = 0
|
created_accounts = 0
|
||||||
|
|
Loading…
Reference in a new issue