Code: Alles auswählen
richtig = protokoll.filter(wertung__contains ='r').count()
Code: Alles auswählen
richtig = protokoll.filter(wertung__contains ='r').count()
Das ist ein Rezept für Desaster und war vielleicht mal sinnvoll, als Speicherplatz und Übertragungsgeschwindigkeiten begrenzter waren.Ich bin vielleicht etwas geizig mit den Fields in den models und nutze Einträge gerne multifunktional.
Ich werde aber gerne eure Ratschläge berücksichtigen und versuchen, sie in Zukunft (oder auch rückwirkend) mehr anzuwenden. Was speziell an meinem "fhrrr" String gefällt euch nicht?snafu hat geschrieben: ↑Mittwoch 15. Februar 2023, 14:38das befürchte ich auch, aber ich habe mir Mühe gegeben ihn immer schön zu kommentieren. Ich fürchte nur, da komme ich nicht mehr raus.... (d.h. schwer verständlicher Code, der irgendwann kaum noch wartbar oder erweiterbar ist)....Ich habe das schon verstanden und habe daher auch versucht, mein Vorgehen zu erklären. Meine Aufgaben sind meistens "eindimensional", also kleines Einmalein oder Kopfrechenaufgaben oder Figuren und Körper benennen (wobei hier auch schon gilt, dass eine Raute auch Rhombus" heißen kann und ich auch noch einen Hinweis gebe, falls die Groß- und Kleinschreibung nicht beachtet wurde). Da erzeuge ich die richtige Antwort zusmammen mit der Aufagbenstellung. Bei einem Koordinatensystem mit verschiedenen Einteilungen habe ich ziemlich viele Parameter, die die richtige Antwort beeinflussen. Wenn also die Koordinaten eines Punktes im Koordinatensystem oder der Wert einer Zahl auf dem Zahlenstarhl abgelesen werden muss, sieht dieser Zahlenstrahl und unter Umständen auch das Koordinatensystem vollkommen anders aus. Hier die richtige Antwort erst aus diesen Parametern wieder abzurufen überfordert mich, daher speichere ich die Antwort(en) in der gleichen Tabelle. Bei einigen Kategorien (Zuordnungen, Therme, alle Arten von Funktionen) gibt es nunmal die beschriebenen Wertetabellen und ich sehe eine Wertetabelle als eine Aufgabe mit mehreren Antworten an und wüsste jetzt nicht, wie ich die auseinanderklamüsern kann.__blackjack__ hat sich bestimmt auf die einzelnen Eingaben bezogen als er von Antworten schrieb. Für dich sind Antworten offenbar die Komplettlösung der jeweiligen Aufgabe.
Code: Alles auswählen
from core.models import Protokoll
for p in Protokoll:
if "r" in "protokoll.wertung:
protokoll.richtig = 1
if "f" in "protokoll.wertung:
protokoll.falsch = 1
if "a" in "protokoll.wertung:
protokoll.abbr = True
if "Lsg" in "protokoll.eingabe:
protokoll.lsg = True
if "h" in "protokoll.wertung:
protokoll.hilfe = True
Code: Alles auswählen
richtig = summe.aggregate(Sum('richtig'))['richtig__sum']
Code: Alles auswählen
richtig = summe.aggregate(Sum('richtig'))['richtig__sum']
if richtig == "None":
richtig = 0
Code: Alles auswählen
def update(req):
protokoll = Protokoll.objects.all()
for zeile in protokoll.iterator():
print(zeile.wertung)
if "a" in zeile.wertung:
zeile.abbr = True
else:
zeile.abbr = False
if "r" in zeile.wertung:
zeile.richtig = 1
if "f" in zeile.wertung:
zeile.falsch = 1
if "Lsg" in zeile.eingabe:
zeile.lsg = True
if "Hilfe" in zeile.wertung:
zeile.hilfe = True
zeile.save()
return HttpResponse("fertig!")
Code: Alles auswählen
temp = protokoll.aggregate(Sum('richtig'))['richtig__sum']
richtig = temp if temp else 0