About sorting

I wrote this originally when working on #4096 to verify my theory that the issues are caused by demo data being generated differently because sorting has changed. The result is negative, i.e. my theory seems wrong.

Alphabetic sorting is not as we wanted it to be when we wrote lino_welfare.modlib.welfare.models.customize_sqlite() (which creates a custom collation for sqlite). We wanted people like “da Vinci, David” or “Ärgerlich, Erna” to be correctly sorted. But this seems to not be related.

Side note: Code snippets (lines starting with >>>) in this document get tested as part of our development workflow. The following initialization snippet tells you which demo project is being used in this document.

>>> from lino import startup
>>> startup('lino_welfare.projects.gerd.settings.demo')
>>> from lino.api.doctest import *

This to verify whether sorting works as expected.

>>> for o in contacts.Company.objects.all():
...    print("{o.id} {o.name}".format(o=o))
100 Belgisches Rotes Kreuz
101 Rumma & Ko OÜ
102 Bäckerei Ausdemwald
103 Bäckerei Mießen
104 Bäckerei Schmitz
105 Garage Mergelsberg
106 Donderweer BV
107 Van Achter NV
108 Hans Flott & Co
109 Bernd Brechts Bücherladen
110 Reinhards Baumschule
111 Moulin Rouge
112 Auto École Verte
187 ÖSHZ Kettenis
188 BISA
189 R-Cycle Sperrgutsortierzentrum
190 Die neue Alternative V.o.G.
191 Pro Aktiv V.o.G.
192 Werkstatt Cardijn V.o.G.
193 Behindertenstätten Eupen
194 Beschützende Werkstätte Eupen
195 Alliance Nationale des Mutualités Chrétiennes
196 Mutualité Chrétienne de Verviers - Eupen
197 Union Nationale des Mutualités Neutres
198 Mutualia - Mutualité Neutre
199 Solidaris - Mutualité socialiste et syndicale de la province de Liège
200 Apotheke Reul
201 Apotheke Schunck
202 Pharmacies Populaires de Verviers
203 Bosten-Bocken A
204 Brüll Christine
205 Brocal Catherine
206 Bourseaux Alexandre
207 Baguette Stéphanie
208 Demarteau Bernadette
209 Schmitz Marc
210 Cashback sprl
211 Money Wizard AS
214 Arbeitsamt der D.G.
220 AS Express Post
221 AS Matsalu Veevärk
222 Eesti Energia AS
223 IIZI kindlustusmaakler AS
224 Maksu- ja Tolliamet
225 Ragn-Sells AS
226 Electrabel Customer Solutions
227 Ethias s.a.
228 Niederau Eupen AG
229 Leffin Electronics
230 Oikos
231 KAP
>>> for o in contacts.Person.objects.all():
...    print("{o.id} {o.last_name}, {o.first_name}".format(o=o))
258 Adam, Albert
262 Adam, Ilja
267 Adam, Noémie
268 Adam, Odette
269 Adam, Pascale
184 Allmanns, Alicia
115 Altenberg, Hans
113 Arens, Andreas
114 Arens, Annette
116 Ausdemwald, Alfons
117 Bastiaensen, Laurent
170 Bodard, Bernard
259 Braun, Bruno
263 Braun, Jan
264 Braun, Kevin
265 Braun, Lars
266 Braun, Monique
177 Brecht, Bernd
217 Castou, Carmen
120 Chantraine, Marc
119 Charlier, Ulrike
118 Collard, Charlotte
122 Demeulenaere, Dorothée
180 Denon, Denis
121 Dericum, Daniel
124 Dobbelstein, Dorothée
123 Dobbelstein-Demeulenaere, Dorothée
249 Drosson, Dora
179 Dubois, Robin
171 Dupont, Jean
175 Eierschal, Emil
244 Einzig, Paula
128 Emonts, Daniel
150 Emonts, Erich
152 Emonts-Gast, Erna
151 Emontspool, Erwin
129 Engels, Edgar
125 Ernst, Berta
127 Evers, Eberhart
126 Evertz, Bernd
260 Evrard, Eveline
130 Faymonville, Luc
261 Freisen, Françoise
242 Frisch, Alice
243 Frisch, Bernd
248 Frisch, Clara
250 Frisch, Dennis
238 Frisch, Hubert
253 Frisch, Irma
241 Frisch, Ludwig
252 Frisch, Melba
240 Frisch, Paul
245 Frisch, Peter
247 Frisch, Philippe
239 Frogemuth, Gaby
212 Gerkens, Gerd
131 Gernegroß, Germaine
132 Groteclaes, Gregory
134 Hilgers, Henri
133 Hilgers, Hildegard
183 Huppertz, Hubert
135 Ingels, Irene
137 Jacobs, Jacqueline
136 Jansen, Jérémy
181 Jeanémart, Jérôme
138 Johnen, Johann
139 Jonas, Josef
140 Jousten, Jan
186 Jousten, Judith
141 Kaivers, Karl
213 Kasennova, Tatjana
178 Keller, Karl
219 Kimmel, Killian
176 Lahm, Lisa
142 Lambertz, Guido
143 Laschet, Laura
144 Lazarus, Line
145 Leffin, Josefine
251 Loslever, Laura
146 Malmendier, Marc
172 Martelaer, Mark
147 Meessen, Melissa
149 Meier, Marie-Louise
148 Mießen, Michael
182 Mélard, Mélanie
153 Radermacher, Alfons
154 Radermacher, Berta
155 Radermacher, Christian
156 Radermacher, Daniela
157 Radermacher, Edgard
158 Radermacher, Fritz
159 Radermacher, Guido
160 Radermacher, Hans
161 Radermacher, Hedi
162 Radermacher, Inge
163 Radermacher, Jean
173 Radermecker, Rik
185 Thelen, Theresia
174 Vandenmeulenbos, Marie-Louise
218 Waldmann, Walter
215 Waldmann, Waltraud
216 Wehnicht, Werner
246 Zweith, Petra
165 da Vinci, David
164 di Rupo, Didier
166 van Veen, Vincent
169 Ärgerlich, Erna
167 Õunapuu, Õie
168 Östges, Otto
>>> for o in pcsw.Client.objects.all():
...    print("{o.id} {o.last_name}, {o.first_name}".format(o=o))
116 Ausdemwald, Alfons
117 Bastiaensen, Laurent
118 Collard, Charlotte
120 Chantraine, Marc
121 Dericum, Daniel
122 Demeulenaere, Dorothée
123 Dobbelstein-Demeulenaere, Dorothée
124 Dobbelstein, Dorothée
125 Ernst, Berta
126 Evertz, Bernd
127 Evers, Eberhart
128 Emonts, Daniel
129 Engels, Edgar
130 Faymonville, Luc
131 Gernegroß, Germaine
132 Groteclaes, Gregory
133 Hilgers, Hildegard
134 Hilgers, Henri
135 Ingels, Irene
136 Jansen, Jérémy
137 Jacobs, Jacqueline
138 Johnen, Johann
139 Jonas, Josef
140 Jousten, Jan
141 Kaivers, Karl
142 Lambertz, Guido
143 Laschet, Laura
144 Lazarus, Line
145 Leffin, Josefine
146 Malmendier, Marc
147 Meessen, Melissa
149 Meier, Marie-Louise
150 Emonts, Erich
151 Emontspool, Erwin
152 Emonts-Gast, Erna
153 Radermacher, Alfons
154 Radermacher, Berta
155 Radermacher, Christian
156 Radermacher, Daniela
157 Radermacher, Edgard
158 Radermacher, Fritz
159 Radermacher, Guido
160 Radermacher, Hans
161 Radermacher, Hedi
162 Radermacher, Inge
164 di Rupo, Didier
165 da Vinci, David
166 van Veen, Vincent
167 Õunapuu, Õie
168 Östges, Otto
172 Martelaer, Mark
173 Radermecker, Rik
174 Vandenmeulenbos, Marie-Louise
175 Eierschal, Emil
176 Lahm, Lisa
177 Brecht, Bernd
178 Keller, Karl
179 Dubois, Robin
180 Denon, Denis
181 Jeanémart, Jérôme
213 Kasennova, Tatjana
240 Frisch, Paul
259 Braun, Bruno
>>> for o in pcsw.Client.objects.order_by('name'):
...    print("{o.id} {o.last_name}, {o.first_name}".format(o=o))
116 Ausdemwald, Alfons
117 Bastiaensen, Laurent
259 Braun, Bruno
177 Brecht, Bernd
120 Chantraine, Marc
118 Collard, Charlotte
122 Demeulenaere, Dorothée
180 Denon, Denis
121 Dericum, Daniel
124 Dobbelstein, Dorothée
123 Dobbelstein-Demeulenaere, Dorothée
179 Dubois, Robin
175 Eierschal, Emil
128 Emonts, Daniel
150 Emonts, Erich
152 Emonts-Gast, Erna
151 Emontspool, Erwin
129 Engels, Edgar
125 Ernst, Berta
127 Evers, Eberhart
126 Evertz, Bernd
130 Faymonville, Luc
240 Frisch, Paul
131 Gernegroß, Germaine
132 Groteclaes, Gregory
134 Hilgers, Henri
133 Hilgers, Hildegard
135 Ingels, Irene
137 Jacobs, Jacqueline
136 Jansen, Jérémy
181 Jeanémart, Jérôme
138 Johnen, Johann
139 Jonas, Josef
140 Jousten, Jan
141 Kaivers, Karl
213 Kasennova, Tatjana
178 Keller, Karl
176 Lahm, Lisa
142 Lambertz, Guido
143 Laschet, Laura
144 Lazarus, Line
145 Leffin, Josefine
146 Malmendier, Marc
172 Martelaer, Mark
147 Meessen, Melissa
149 Meier, Marie-Louise
153 Radermacher, Alfons
154 Radermacher, Berta
155 Radermacher, Christian
156 Radermacher, Daniela
157 Radermacher, Edgard
158 Radermacher, Fritz
159 Radermacher, Guido
160 Radermacher, Hans
161 Radermacher, Hedi
162 Radermacher, Inge
173 Radermecker, Rik
174 Vandenmeulenbos, Marie-Louise
165 da Vinci, David
164 di Rupo, Didier
166 van Veen, Vincent
167 Õunapuu, Õie
168 Östges, Otto
>>> for o in users.User.objects.all():
...    print("{o.id} {o.username} ({o.last_name}, {o.first_name})".format(o=o))
8 nicolas (, )
6 alicia (Allmanns, Alicia)
9 caroline (Carnol, Caroline)
5 hubert (Huppertz, Hubert)
10 judith (Jousten, Judith)
13 kerstin (Kerres, Kerstin)
4 melanie (Mélard, Mélanie)
11 patrick (Paraneau, Patrick)
2 romain (Raffault, Romain)
1 rolf (Rompen, Rolf)
3 robin (Rood, Robin)
7 theresia (Thelen, Theresia)
12 wilfried (Willems, Wilfried)
>>> for o in households.Household.objects.all():
...    print("{o.id} {o.name}".format(o=o))
232 Gerkens-Kasennova
233 Huppertz-Jousten
234 Jeanémart-Thelen
235 Denon-Mélard
236 Dubois-Lahm
237 Jeanémart-Vandenmeulenbos
254 Frisch-Frogemuth
255 Frisch-Einzig
256 Frisch-Zweith
257 Frisch-Loslever
270 Adam-Evrard
271 Adam-Freisen
272 Braun-Evrard
273 Braun-Freisen
>>> for o in coachings.CoachingType.objects.all():
...    print("{o.id} {o}".format(o=o))
1 ASD
2 DSBE
3 Schuldnerberatung
>>> for o in coachings.Coaching.objects.all():
...    print("{o.id} {o}".format(o=o))
1 alicia / Ausdemwald A
2 hubert / Ausdemwald A
3 melanie / Ausdemwald A
4 caroline / Ausdemwald A
5 hubert / Collard C
6 melanie / Collard C
7 hubert / Dobbelstein-Demeulenaere D
8 melanie / Dobbelstein D
9 alicia / Evertz B
10 hubert / Evers E
11 melanie / Evers E
12 caroline / Evers E
13 hubert / Emonts D
14 melanie / Emonts D
15 hubert / Emonts D
16 melanie / Engels E
17 alicia / Engels E
18 hubert / Engels E
19 melanie / Engels E
20 caroline / Faymonville L
21 hubert / Faymonville L
22 melanie / Groteclaes G
23 hubert / Hilgers H
24 melanie / Hilgers H
25 alicia / Hilgers H
26 hubert / Jacobs J
27 melanie / Jacobs J
28 caroline / Jacobs J
29 hubert / Johnen J
30 melanie / Johnen J
31 hubert / Jonas J
32 melanie / Jonas J
33 alicia / Jonas J
34 hubert / Jonas J
35 melanie / Kaivers K
36 caroline / Kaivers K
37 hubert / Lambertz G
38 melanie / Lazarus L
39 hubert / Lazarus L
40 melanie / Lazarus L
41 alicia / Leffin J
42 hubert / Malmendier M
43 melanie / Malmendier M
44 caroline / Malmendier M
45 hubert / Meessen M
46 melanie / Meessen M
47 hubert / Meessen M
48 melanie / Meessen M
49 alicia / Emonts-Gast E
50 hubert / Emonts-Gast E
51 melanie / Radermacher A
52 caroline / Radermacher C
53 hubert / Radermacher C
54 melanie / Radermacher C
55 hubert / Radermacher E
56 melanie / Radermacher E
57 alicia / Radermacher E
58 hubert / Radermacher F
59 melanie / Radermacher G
60 caroline / Radermacher G
61 hubert / Radermacher G
62 melanie / Radermacher G
63 hubert / Radermacher H
64 melanie / Radermacher H
65 alicia / da Vinci D
66 hubert / van Veen V
67 melanie / van Veen V
68 caroline / van Veen V
69 hubert / Õunapuu Õ
70 melanie / Õunapuu Õ
71 hubert / Östges O
72 melanie / Östges O
73 alicia / Östges O
74 hubert / Radermecker R
75 melanie / Radermecker R
76 caroline / Radermecker R
77 hubert / Radermecker R
78 melanie / Brecht B
79 hubert / Brecht B
80 melanie / Keller K
81 alicia / Dubois R
82 hubert / Dubois R
83 melanie / Dubois R
84 caroline / Denon D
85 hubert / Denon D
86 melanie / Denon D
87 hubert / Jeanémart J
88 melanie / Jeanémart J
89 alicia / Jeanémart J
90 hubert / Jeanémart J
>>> for o in jobs.Job.objects.all():
...    print("{o.id} {o}".format(o=o))
5 Kellner bei BISA
1 Kellner bei R-Cycle Sperrgutsortierzentrum
2 Koch bei BISA
6 Koch bei Pro Aktiv V.o.G.
3 Küchenassistent bei Pro Aktiv V.o.G.
7 Küchenassistent bei R-Cycle Sperrgutsortierzentrum
8 Tellerwäscher bei BISA
4 Tellerwäscher bei R-Cycle Sperrgutsortierzentrum
>>> rt.show(jobs.CandidatureStates)
====== =========== =======================
 Wert   name        Text
------ ----------- -----------------------
 10     active      Aktiv
 20     probation   Probezeit
 25     failed      Probezeit ohne Erfolg
 27     working     Arbeitet
 30     inactive    Inaktiv
====== =========== =======================
>>> i = pcsw.Client.objects.order_by('name').__iter__()
>>> print(next(i))
AUSDEMWALD Alfons (116)
>>> print(next(i))
BASTIAENSEN Laurent (117)
>>> print(next(i))
BRAUN Bruno (259)
>>> print(next(i))
BRECHT Bernd (177)
>>> for o in cal.Calendar.objects.all():
...    print("{o.id} {o}".format(o=o))
1 Allgemein
2 alicia
3 caroline
4 hubert
5 judith
6 melanie
7 patrick
8 romain
9 rolf
10 robin
11 theresia
>>> for o in isip.Contract.objects.all():
...    print("{o.id} {o}".format(o=o))
1 VSE#1 (Alfons AUSDEMWALD)
2 VSE#2 (Alfons AUSDEMWALD)
3 VSE#3 (Dorothée DOBBELSTEIN)
4 VSE#4 (Eberhart EVERS)
5 VSE#5 (Eberhart EVERS)
6 VSE#6 (Eberhart EVERS)
7 VSE#7 (Edgar ENGELS)
8 VSE#8 (Edgar ENGELS)
9 VSE#9 (Gregory GROTECLAES)
10 VSE#10 (Jacqueline JACOBS)
11 VSE#11 (Karl KAIVERS)
12 VSE#12 (Karl KAIVERS)
13 VSE#13 (Line LAZARUS)
14 VSE#14 (Line LAZARUS)
15 VSE#15 (Melissa MEESSEN)
16 VSE#16 (Melissa MEESSEN)
17 VSE#17 (Melissa MEESSEN)
18 VSE#18 (Alfons RADERMACHER)
19 VSE#19 (Edgard RADERMACHER)
20 VSE#20 (Edgard RADERMACHER)
21 VSE#21 (Edgard RADERMACHER)
22 VSE#22 (Guido RADERMACHER)
23 VSE#23 (Guido RADERMACHER)
24 VSE#24 (David DA VINCI)
25 VSE#25 (David DA VINCI)
26 VSE#26 (David DA VINCI)
27 VSE#27 (Otto ÖSTGES)
28 VSE#28 (Otto ÖSTGES)
29 VSE#29 (Bernd BRECHT)
30 VSE#30 (Bernd BRECHT)
31 VSE#31 (Robin DUBOIS)
32 VSE#32 (Robin DUBOIS)
33 VSE#33 (Jérôme JEANÉMART)
34 VSE#34 (Jérôme JEANÉMART)
>>> for o in jobs.Contract.objects.all():
...    print("{o.id} {o}".format(o=o))
1 Art.60§7-Konvention#1 (Charlotte COLLARD)
2 Art.60§7-Konvention#2 (Bernd EVERTZ)
3 Art.60§7-Konvention#3 (Luc FAYMONVILLE)
4 Art.60§7-Konvention#4 (Luc FAYMONVILLE)
5 Art.60§7-Konvention#5 (Hildegard HILGERS)
6 Art.60§7-Konvention#6 (Guido LAMBERTZ)
7 Art.60§7-Konvention#7 (Marc MALMENDIER)
8 Art.60§7-Konvention#8 (Marc MALMENDIER)
9 Art.60§7-Konvention#9 (Christian RADERMACHER)
10 Art.60§7-Konvention#10 (Christian RADERMACHER)
11 Art.60§7-Konvention#11 (Fritz RADERMACHER)
12 Art.60§7-Konvention#12 (Vincent VAN VEEN)
13 Art.60§7-Konvention#13 (Rik RADERMECKER)
14 Art.60§7-Konvention#14 (Rik RADERMECKER)
15 Art.60§7-Konvention#15 (Denis DENON)
16 Art.60§7-Konvention#16 (Denis DENON)
>>> for o in art61.Contract.objects.all():
...    print("{o.id} {o}".format(o=o))
1 Art.61-Konvention#1 (Daniel EMONTS)
2 Art.61-Konvention#2 (Josef JONAS)
3 Art.61-Konvention#3 (Josef JONAS)
4 Art.61-Konvention#4 (Erna EMONTS-GAST)
5 Art.61-Konvention#5 (Hedi RADERMACHER)
6 Art.61-Konvention#6 (Hedi RADERMACHER)
7 Art.61-Konvention#7 (Karl KELLER)
>>> for o in cv.Function.objects.all():
...    print("{o.id} {o}".format(o=o))
1 Kellner
2 Koch
3 Küchenassistent
4 Tellerwäscher
>>> for o in clients.ClientContactType.objects.all():
...    print("{o.id} {o}".format(o=o))
1 Apotheke
2 Krankenkasse
3 Rechtsanwalt
4 Gerichtsvollzieher
5 Inkasso-Unternehmen
6 Arbeitsvermittler
7 Arzt
8 Hausarzt
9 Zahnarzt
10 Kinderarzt
>>> for o in aids.AidType.objects.all():
...    print("{o.id} {o}".format(o=o))
1 Eingliederungseinkommen
2 Ausländerbeihilfe
3 Feste Beihilfe
4 Erstattung
5 Übernahmeschein
6 Übernahme von Arzt- und/oder Medikamentenkosten
7 Dringende Medizinische Hilfe
8 Möbellager
9 Heizkosten
10 Lebensmittelbank
11 Kleiderkammer

Differing results between Django 3.1.8 and 3.2.0

I simulate code used in lino_welfare.modlib.welfare.fixtures.demo in order to find where the difference is hidden.

No longer differing results

>>> qs = pcsw.Client.objects.filter(client_state=pcsw.ClientStates.coached)
>>> qs.ordered
True
>>> # qs = qs.order_by('name')
>>> for o in qs:
...    print("{o.id} {o.last_name}, {o.first_name}".format(o=o))
116 Ausdemwald, Alfons
118 Collard, Charlotte
124 Dobbelstein, Dorothée
127 Evers, Eberhart
128 Emonts, Daniel
129 Engels, Edgar
130 Faymonville, Luc
132 Groteclaes, Gregory
133 Hilgers, Hildegard
137 Jacobs, Jacqueline
139 Jonas, Josef
141 Kaivers, Karl
142 Lambertz, Guido
144 Lazarus, Line
146 Malmendier, Marc
147 Meessen, Melissa
152 Emonts-Gast, Erna
153 Radermacher, Alfons
155 Radermacher, Christian
157 Radermacher, Edgard
159 Radermacher, Guido
161 Radermacher, Hedi
165 da Vinci, David
166 van Veen, Vincent
168 Östges, Otto
173 Radermecker, Rik
177 Brecht, Bernd
178 Keller, Karl
179 Dubois, Robin
180 Denon, Denis
181 Jeanémart, Jérôme
>>> i = pcsw.Client.objects.all().__iter__()
>>> p = next(i)
>>> for f in cv.Function.objects.all():
...     print(p)
...     p = next(i)
AUSDEMWALD Alfons (116)
BASTIAENSEN Laurent (117)
COLLARD Charlotte (118)
CHANTRAINE Marc (120*)
>>> for o in cv.Sector.objects.all():
...    print("{o.id} {o}".format(o=o))
1  Landwirtschaft & Garten
2  Seefahrt
3  Medizin & Paramedizin
4  Bauwesen & Gebäudepflege
5  Horeca
6  Unterricht
7  Reinigung
8  Transport
9  Textil
10  Kultur
11  Informatik
12  Kosmetik
13  Verkauf
14  Verwaltung & Finanzwesen
>>> for o in pcsw.PersonGroup.objects.all():
...    print("{o.id} {o}".format(o=o))
1 Auswertung
2 Ausbildung
3 Suchen
4 Arbeit
5 Standby
>>> for o in contacts.Partner.objects.all():
...    print("{o.id} {o.name}".format(o=o))
100 Belgisches Rotes Kreuz
101 Rumma & Ko OÜ
102 Bäckerei Ausdemwald
103 Bäckerei Mießen
104 Bäckerei Schmitz
105 Garage Mergelsberg
106 Donderweer BV
107 Van Achter NV
108 Hans Flott & Co
109 Bernd Brechts Bücherladen
110 Reinhards Baumschule
111 Moulin Rouge
112 Auto École Verte
113 Arens Andreas
114 Arens Annette
115 Altenberg Hans
116 Ausdemwald Alfons
117 Bastiaensen Laurent
118 Collard Charlotte
119 Charlier Ulrike
120 Chantraine Marc
121 Dericum Daniel
122 Demeulenaere Dorothée
123 Dobbelstein-Demeulenaere Dorothée
124 Dobbelstein Dorothée
125 Ernst Berta
126 Evertz Bernd
127 Evers Eberhart
128 Emonts Daniel
129 Engels Edgar
130 Faymonville Luc
131 Gernegroß Germaine
132 Groteclaes Gregory
133 Hilgers Hildegard
134 Hilgers Henri
135 Ingels Irene
136 Jansen Jérémy
137 Jacobs Jacqueline
138 Johnen Johann
139 Jonas Josef
140 Jousten Jan
141 Kaivers Karl
142 Lambertz Guido
143 Laschet Laura
144 Lazarus Line
145 Leffin Josefine
146 Malmendier Marc
147 Meessen Melissa
148 Mießen Michael
149 Meier Marie-Louise
150 Emonts Erich
151 Emontspool Erwin
152 Emonts-Gast Erna
153 Radermacher Alfons
154 Radermacher Berta
155 Radermacher Christian
156 Radermacher Daniela
157 Radermacher Edgard
158 Radermacher Fritz
159 Radermacher Guido
160 Radermacher Hans
161 Radermacher Hedi
162 Radermacher Inge
163 Radermacher Jean
164 di Rupo Didier
165 da Vinci David
166 van Veen Vincent
167 Õunapuu Õie
168 Östges Otto
169 Ärgerlich Erna
170 Bodard Bernard
171 Dupont Jean
172 Martelaer Mark
173 Radermecker Rik
174 Vandenmeulenbos Marie-Louise
175 Eierschal Emil
176 Lahm Lisa
177 Brecht Bernd
178 Keller Karl
179 Dubois Robin
180 Denon Denis
181 Jeanémart Jérôme
182 Mélard Mélanie
183 Huppertz Hubert
184 Allmanns Alicia
185 Thelen Theresia
186 Jousten Judith
187 ÖSHZ Kettenis
188 BISA
189 R-Cycle Sperrgutsortierzentrum
190 Die neue Alternative V.o.G.
191 Pro Aktiv V.o.G.
192 Werkstatt Cardijn V.o.G.
193 Behindertenstätten Eupen
194 Beschützende Werkstätte Eupen
195 Alliance Nationale des Mutualités Chrétiennes
196 Mutualité Chrétienne de Verviers - Eupen
197 Union Nationale des Mutualités Neutres
198 Mutualia - Mutualité Neutre
199 Solidaris - Mutualité socialiste et syndicale de la province de Liège
200 Apotheke Reul
201 Apotheke Schunck
202 Pharmacies Populaires de Verviers
203 Bosten-Bocken A
204 Brüll Christine
205 Brocal Catherine
206 Bourseaux Alexandre
207 Baguette Stéphanie
208 Demarteau Bernadette
209 Schmitz Marc
210 Cashback sprl
211 Money Wizard AS
212 Gerkens Gerd
213 Kasennova Tatjana
214 Arbeitsamt der D.G.
215 Waldmann Waltraud
216 Wehnicht Werner
217 Castou Carmen
218 Waldmann Walter
219 Kimmel Killian
220 AS Express Post
221 AS Matsalu Veevärk
222 Eesti Energia AS
223 IIZI kindlustusmaakler AS
224 Maksu- ja Tolliamet
225 Ragn-Sells AS
226 Electrabel Customer Solutions
227 Ethias s.a.
228 Niederau Eupen AG
229 Leffin Electronics
230 Oikos
231 KAP
232 Gerkens-Kasennova
233 Huppertz-Jousten
234 Jeanémart-Thelen
235 Denon-Mélard
236 Dubois-Lahm
237 Jeanémart-Vandenmeulenbos
238 Frisch Hubert
239 Frogemuth Gaby
240 Frisch Paul
241 Frisch Ludwig
242 Frisch Alice
243 Frisch Bernd
244 Einzig Paula
245 Frisch Peter
246 Zweith Petra
247 Frisch Philippe
248 Frisch Clara
249 Drosson Dora
250 Frisch Dennis
251 Loslever Laura
252 Frisch Melba
253 Frisch Irma
254 Frisch-Frogemuth
255 Frisch-Einzig
256 Frisch-Zweith
257 Frisch-Loslever
258 Adam Albert
259 Braun Bruno
260 Evrard Eveline
261 Freisen Françoise
262 Adam Ilja
263 Braun Jan
264 Braun Kevin
265 Braun Lars
266 Braun Monique
267 Adam Noémie
268 Adam Odette
269 Adam Pascale
270 Adam-Evrard
271 Adam-Freisen
272 Braun-Evrard
273 Braun-Freisen
>>> theresia = users.User.objects.get(username="theresia")
>>> for o in reception.Clients.request(user=theresia):
...    print("{o.id} {o}".format(o=o))  
116 AUSDEMWALD Alfons (116)
177 BRECHT Bernd (177)
118 COLLARD Charlotte (118)
124 DOBBELSTEIN Dorothée (124)
179 DUBOIS Robin (179)
128 EMONTS Daniel (128)
152 EMONTS-GAST Erna (152)
129 ENGELS Edgar (129)
127 EVERS Eberhart (127)
132 GROTECLAES Gregory (132)
133 HILGERS Hildegard (133)
137 JACOBS Jacqueline (137)
181 JEANÉMART Jérôme (181)
139 JONAS Josef (139)
141 KAIVERS Karl (141)
178 KELLER Karl (178)
142 LAMBERTZ Guido (142)
144 LAZARUS Line (144)
146 MALMENDIER Marc (146)
147 MEESSEN Melissa (147)
153 RADERMACHER Alfons (153)
155 RADERMACHER Christian (155)
157 RADERMACHER Edgard (157)
159 RADERMACHER Guido (159)
161 RADERMACHER Hedi (161)
173 RADERMECKER Rik (173)
165 DA VINCI David (165)
166 VAN VEEN Vincent (166)
168 ÖSTGES Otto (168)

Still differing

Only one candidature differs:

>>> for o in jobs.Candidature.objects.all():
...    print("{o.id} {o}".format(o=o))  
1 Kandidatur von Edgar ENGELS
2 Kandidatur von Luc FAYMONVILLE
3 Kandidatur von Gregory GROTECLAES
4 Kandidatur von Hildegard HILGERS
5 Kandidatur von Jacqueline JACOBS
6 Kandidatur von Josef JONAS
7 Kandidatur von Karl KAIVERS
8 Kandidatur von Guido LAMBERTZ
9 Kandidatur von Line LAZARUS
10 Kandidatur von Marc MALMENDIER
11 Kandidatur von Melissa MEESSEN
12 Kandidatur von Erna EMONTS-GAST
13 Kandidatur von Alfons RADERMACHER
14 Kandidatur von Christian RADERMACHER
15 Kandidatur von Edgard RADERMACHER
16 Kandidatur von Guido RADERMACHER
17 Kandidatur von Hedi RADERMACHER
18 Kandidatur von David DA VINCI
19 Kandidatur von Vincent VAN VEEN
20 Kandidatur von Otto ÖSTGES
21 Kandidatur von Rik RADERMECKER
22 Kandidatur von Bernd BRECHT
23 Kandidatur von Karl KELLER
24 Kandidatur von Robin DUBOIS
25 Kandidatur von Denis DENON
26 Kandidatur von Jérôme JEANÉMART
27 Kandidatur von Alfons AUSDEMWALD
28 Kandidatur von Charlotte COLLARD
29 Kandidatur von Dorothée DOBBELSTEIN
30 Kandidatur von Eberhart EVERS
31 Kandidatur von Daniel EMONTS
32 Kandidatur von Edgar ENGELS
33 Kandidatur von Luc FAYMONVILLE
34 Kandidatur von Gregory GROTECLAES
35 Kandidatur von Hildegard HILGERS
36 Kandidatur von Jacqueline JACOBS
37 Kandidatur von Josef JONAS
38 Kandidatur von Karl KAIVERS
39 Kandidatur von Guido LAMBERTZ
40 Kandidatur von Line LAZARUS
41 Kandidatur von Marc MALMENDIER
42 Kandidatur von Melissa MEESSEN
43 Kandidatur von Erna EMONTS-GAST
44 Kandidatur von Alfons RADERMACHER
45 Kandidatur von Christian RADERMACHER
46 Kandidatur von Edgard RADERMACHER
47 Kandidatur von Guido RADERMACHER
48 Kandidatur von Hedi RADERMACHER
49 Kandidatur von David DA VINCI
50 Kandidatur von Vincent VAN VEEN
51 Kandidatur von Otto ÖSTGES
52 Kandidatur von Rik RADERMECKER
53 Kandidatur von Bernd BRECHT
54 Kandidatur von Karl KELLER
55 Kandidatur von Robin DUBOIS
56 Kandidatur von Denis DENON
57 Kandidatur von Jérôme JEANÉMART
58 Kandidatur von Alfons AUSDEMWALD
59 Kandidatur von Charlotte COLLARD
60 Kandidatur von Dorothée DOBBELSTEIN
61 Kandidatur von Eberhart EVERS
62 Kandidatur von Daniel EMONTS
63 Kandidatur von Edgar ENGELS
64 Kandidatur von Luc FAYMONVILLE
65 Kandidatur von Gregory GROTECLAES
66 Kandidatur von Hildegard HILGERS
67 Kandidatur von Jacqueline JACOBS
68 Kandidatur von Josef JONAS
69 Kandidatur von Karl KAIVERS
70 Kandidatur von Guido LAMBERTZ
71 Kandidatur von Alfons AUSDEMWALD
72 Kandidatur von Laurent BASTIAENSEN
73 Kandidatur von Bernd BRECHT
74 Kandidatur von Marc CHANTRAINE
>>> for o in aids.Granting.objects.all():
...    print("{o.id} {o} {o.client}".format(o=o))  
1 EiEi/29.09.12/116 AUSDEMWALD Alfons (116)
2 Ausländerbeihilfe/08.08.13/116 AUSDEMWALD Alfons (116)
3 EiEi/13.10.12/124 DOBBELSTEIN Dorothée (124)
4 Ausländerbeihilfe/27.10.12/127 EVERS Eberhart (127)
5 EiEi/20.02.14/127 EVERS Eberhart (127)
6 Ausländerbeihilfe/23.03.14/127 EVERS Eberhart (127)
7 EiEi/10.11.12/129 ENGELS Edgar (129)
8 Ausländerbeihilfe/06.03.14/129 ENGELS Edgar (129)
9 EiEi/24.11.12/132 GROTECLAES Gregory (132)
10 Ausländerbeihilfe/08.12.12/137 JACOBS Jacqueline (137)
11 EiEi/22.12.12/141 KAIVERS Karl (141)
12 Ausländerbeihilfe/31.10.13/141 KAIVERS Karl (141)
13 EiEi/05.01.13/144 LAZARUS Line (144)
14 Ausländerbeihilfe/14.11.13/144 LAZARUS Line (144)
15 EiEi/19.01.13/147 MEESSEN Melissa (147)
16 Ausländerbeihilfe/19.02.13/147 MEESSEN Melissa (147)
17 EiEi/29.12.13/147 MEESSEN Melissa (147)
18 Ausländerbeihilfe/02.02.13/153 RADERMACHER Alfons (153)
19 EiEi/16.02.13/157 RADERMACHER Edgard (157)
20 Ausländerbeihilfe/12.06.14/157 RADERMACHER Edgard (157)
21 EiEi/13.07.14/157 RADERMACHER Edgard (157)
22 Ausländerbeihilfe/02.03.13/159 RADERMACHER Guido (159)
23 EiEi/26.06.14/159 RADERMACHER Guido (159)
24 Ausländerbeihilfe/16.03.13/165 DA VINCI David (165)
25 EiEi/10.07.14/165 DA VINCI David (165)
26 Ausländerbeihilfe/10.08.14/165 DA VINCI David (165)
27 EiEi/30.03.13/168 ÖSTGES Otto (168)
28 Ausländerbeihilfe/24.07.14/168 ÖSTGES Otto (168)
29 EiEi/13.04.13/177 BRECHT Bernd (177)
30 Ausländerbeihilfe/07.08.14/177 BRECHT Bernd (177)
31 EiEi/27.04.13/179 DUBOIS Robin (179)
32 Ausländerbeihilfe/06.03.14/179 DUBOIS Robin (179)
33 EiEi/11.05.13/181 JEANÉMART Jérôme (181)
34 Ausländerbeihilfe/20.03.14/181 JEANÉMART Jérôme (181)
35 EiEi/22.05.14/116 AUSDEMWALD Alfons (116)
36 EiEi/22.05.14/118 COLLARD Charlotte (118)
37 Ausländerbeihilfe/23.05.14/124 DOBBELSTEIN Dorothée (124)
38 Ausländerbeihilfe/23.05.14/127 EVERS Eberhart (127)
39 Feste Beihilfe/24.05.14/128 EMONTS Daniel (128)
40 Feste Beihilfe/24.05.14/129 ENGELS Edgar (129)
41 Erstattung/25.05.14/130 FAYMONVILLE Luc (130*)
42 Erstattung/25.05.14/132 GROTECLAES Gregory (132)
43 Übernahmeschein/26.05.14/133 HILGERS Hildegard (133)
44 Übernahmeschein/26.05.14/137 JACOBS Jacqueline (137)
45 AMK/27.05.14/139 JONAS Josef (139)
46 AMK/27.05.14/141 KAIVERS Karl (141)
47 DMH/28.05.14/142 LAMBERTZ Guido (142)
48 DMH/28.05.14/144 LAZARUS Line (144)
49 Möbellager/29.05.14/146 MALMENDIER Marc (146)
50 Möbellager/29.05.14/147 MEESSEN Melissa (147)
51 Heizkosten/30.05.14/152 EMONTS-GAST Erna (152)
52 Heizkosten/30.05.14/153 RADERMACHER Alfons (153)
53 Lebensmittelbank/31.05.14/155 RADERMACHER Christian (155)
54 Lebensmittelbank/31.05.14/157 RADERMACHER Edgard (157)
55 Kleiderkammer/01.06.14/159 RADERMACHER Guido (159)
56 Kleiderkammer/01.06.14/161 RADERMACHER Hedi (161)
57 DMH/27.05.14/139 JONAS Josef (139)
58 DMH/27.05.14/141 KAIVERS Karl (141)
59 Kleiderkammer/22.05.14/240 FRISCH Paul (240)