20110425 ======== Ostermontag : Heute habe ich in weniger als 4 Stunden zwei Punkte geschafft, für die ich eigentlich mehr Zeitaufwand befürchtet hatte. #. Ich habe eine erste Lösung für Ticket :srcref:`docs/tickets/40`. Konkret kann man jetzt im Feld "Stadt" den Namen einer Stadt eintippen, die Lino noch nicht kennt, und die wird dann automatisch angelegt. Das funktioniert sowohl auf Personen und Firmen wie auch in `Ausbildung`. Check-in 20110425a. #. `dpy.Deserializer` benutzt für MTI-Kinder jetzt :func:`lino.utils.mti.insert_child` statt einfach nur den `parent_ptr` (siehe :blogref:`20110415`). Dazu müsste ich eigentlich noch mehr Tests schreiben. Bei Gelegenheit. 20.50 Uhr : :lino:`/releases/2011/0425` und Upgrade in Eupen. Vor dem Einschlafen kam mir dann noch folgende Idee: ein neuer :term:`django-admin command` `diag`, der eine Zusammenfassung des Datenbank-Inhalts macht: pro Modell u.A. die Anzahl Records und den ersten und letzten Record. Sinn der Sache ist, dass ich zwei Datenbanken inhaltlich miteinander vergleichen kann. Was insbesondere nach einer Datenmigration interessant ist. Wäre ja dumm, wenn nach einer Migration irgendwelche Daten fehlten und wir das erst merkten, wenn die Leute schon weiter gearbeitet haben... Der Befehl an sich war einfach. Er schreibt das nicht nach stdout, sondern in eine utf8-kodierte Datei namens `diag.rst`. Allein schon weil es in meinen Demo-Daten eine Person namens Татьяна Казеннова gibt, die nur auf unicode-fähigen Konsolen ausgedruckt werden kann. Nebenbei kam dabei raus, dass es die Tabellen aus `django.contrib.auth` immer noch gibt. Das kommt daher, dass `contenttypes` den `admin` importiert und der seinerseits `auth`. Lästig, aber auch lustig.