20111220¶
Hier ist noch ein Schöner:
201112-19 09:22:50 ERROR base : Internal Server Error: /api/dsbe/Persons/22659
Traceback (most recent call last):
File "/var/snapshots/django/django/core/handlers/base.py", line 111, in get_response
response = callback(request, *callback_args, **callback_kwargs)
File "/var/snapshots/lino/lino/ui/extjs3/ext_ui.py", line 1452, in api_element_view
datarec = elem2rec_detailed(ar,ah,elem)
File "/var/snapshots/lino/lino/ui/extjs3/ext_ui.py", line 236, in elem2rec_detailed
"len(id_list) is %d while ar.total_count is %d" % (len(id_list),ar.total_count)
AssertionError: len(id_list) is 7777 while ar.total_count is 7778
201112-19 09:23:12 ERROR base : Internal Server Error: /api/dsbe/Persons/22659
Das passiert beim Ermitteln der Record-Ids für die Buttons first, last, prev und next:
first = None
prev = None
next = None
last = None
recno = 0
if ar.total_count > 0:
# this algorithm is clearly quicker on reports with a few thousand Persons
id_list = list(ar.queryset.values_list('pk',flat=True))
assert len(id_list) == ar.total_count, \
"len(id_list) is %d while ar.total_count is %d" % (len(id_list),ar.total_count)
first = id_list[0]
last = id_list[-1]
try:
i = id_list.index(elem.pk)
except ValueError:
pass
else:
recno = i + 1
if i > 0:
#~ prev = ar.queryset[i-1]
prev = id_list[i-1]
if i < ar.total_count - 1:
#~ next = ar.queryset[i+1]
next = id_list[i+1]
Lustig ist, dass die Situation mehrmals hintereinander kommt. Kann es sein, dass die Länge in irgendeinem QuerySet gecached ist?
Keine weiteren Records, Detail wird geschlossen¶
Das war ein eher dringender Bug: wenn man z.B. in
das Detail eines Records anfragte, kam sogleich die Meldung “Keine weiteren Records, Detail wird geschlossen”.Das lag daran, dass das Detail-Fenster die Parameter mt und mk nicht richtig anfragte.
Die Standardbreite einer ForeignKey-Kolonne¶
lino.modlib.contacts.models.Contact._lino_preferred_width
Noch Bugs¶
Seit gestern funktionierte der Kalender nicht mehr. Also dass ich request2kw() vom UI zum ActionRequest verschoben hatte, war nicht bloß weil’s schöner aussah. Die neue Lösung gefällt mir: ReportActionRequest und ViewActionReportRequest sind jetzt eine einzige Klasse ListActionRequest
Personensuche nach Alter funktionierte nicht: wenn man eine Altersgrenze angab, wurden überhaupt keine Personen gefunden.
Check-in, Release https://www.lino-framework.org/releases/2011/1.3.1.html und Feierabend.