Ändern des Nutzerprofils

Django, Flask, Bottle, WSGI, CGI…
Antworten
Pitwheazle
User
Beiträge: 881
Registriert: Sonntag 19. September 2021, 09:40

Ich sitze jetzt seit 2 Tagen an meinem neuen Problem und bekomme das ohne eure Hilfe wieder nicht hin.

Damit die Lehrerin/der Lehrer die Arbeit ihrer/seiner Schülerinnen und Schüler einsehen kann habe ich mir folgendes überlegt (das habe ich schon mal beschrieben):
- Es gibt jeweils eine Datenbank mit Orten und eine mit Schulnamen.
- Lehrer/innen werden ihren Schulen zugeordnet.
- Diese können für jede ihrer/seiner Lerngruppen Lerngruppen anlegen (also nur jeweils einen Gruppennamen festlegen).
- Die Schülerinnen und Schüler können aus einer Liste ihren Schulort (wenn vorhanden) aussuchen, anschließend ihre Schule, dann ihre/n Lehrer/in und zuletzt ihre Lerngruppe (deren Namen entweder selbsterklärend ist oder deren Namen sie von der Lehrkraft mitgeteilt bekommen).
- Eine derartige Lerngruppe finden sie natürlich nur, wenn diese auch von ihre/r/m Lehrer/in angelegt wurde.
- Wenn sie sich dort angemeldet haben, kann der/die Lehrer/in die Arbeitsergebnisse der Schülerinnen und Schüler ihrer/seiner Lerngruppe einsehen.

- Bisher habe ich in den Schülerdaten nur ein Feld für die Lerngruppe vorgesehen (ich bin nicht sicher, ob ich auch einen Link auf Schulort, Schule und Lehrer benötige).
- In meinem Template habe ich es bisher nur geschafft, dass die/der Schüler/in aus allen existierenden Lerngruppen wählen kann - das will ich so nicht. Irgendwann werden das (hoffentlich) zu viele Lerngruppen.
Ich habe folgendes überlegt:

Im Profil können sie zunächst in einer Liste nach ihrem Schulort suchen, wenn sie ihn finden bekommen sie eine Liste mit den dortigen Schulen, dann eine der Lehrereinnen und Lehrer dort und zuletzt deren Lerngruppen.
Ich vermute, ich benötige ein widget mit einem Auswahlfeld in das ich jeweils nacheinander den Inhalt der Orte, der Schule, der Lehrerinnen und Lehrer und zuletzt der Lerngruppen einlese. und erst, wenn sie dort "ihre" Lerngruppe finden, wird diese in Profil übernommen. Ich habe mich auch wieder fleißig daran versucht mithilfe der Docs das alleine hinzubekommen - das bekomme ich alleine nicht hin.

So sieht die angezeigte Seite zurzeit aus:
Bild
das template:

Code: Alles auswählen

<h2>Mein Profil:</h2>
<ul>
    <li>user: {{user}}</li>
    <li>{{nutzer.vorname}} {{nutzer.nachname}}</li>
    <li>Klasse: {{nutzer.klasse}} 
        <form method="post" action="{% url 'aendern' %}">
            {% csrf_token %}   
        {{ form.as_p }} 
    </li>
</ul>

<h3>Wähle aus:</h3>
<ul>
    {% for o in ort %}
    <li> {{ o.plz }} {{ o.name }} </li>
    {% endfor %}
</ul>
forms:

Code: Alles auswählen

class Ort_Form(forms.Form):
    class Meta:
        model = Ort
        fields = ('plz', 'name',)

class Schueler_Aendern_Form(forms.ModelForm):
    class Meta:
        model = Schueler
        labels = {'klasse': ("ändern:")}
        fields = ('klasse', 'lerngruppe')
views:

Code: Alles auswählen

def aendern(req):
    form = Schueler_Aendern_Form(req.POST)
    ort = Ort.objects.all().order_by('plz')
    if not User.objects.filter(pk=req.user.id, groups__name='Schüler').exists():
        return redirect('lehrer')
    nutzer = req.user.schueler
    if req.method == 'POST':
        if  form.is_valid():
            klasse = form.cleaned_data['klasse']
            nutzer.klasse = klasse
            nutzer.save()
    form = Schueler_Aendern_Form(req.POST)
    return render(req, 'aendern.html', {'nutzer': nutzer, 'form': form, 'ort': ort})
Und noch ein weiteres Problem:
Die Schülerinnen und Schüler dürfen ihren Namen, ihren Jahrgang und ihrn Kurs nicht ändern, den Namen ihrer Klassse schon. Das habe ich, wie ihr erkennen könnt auch schon versucht einzubauen. Die Änderung klappt auch aber das sieht blöd aus. Einerseits macht der Hinweis "Dieses Feld ist zwingend erforderlich erforderlich" hier keinen Sinn, sie haben ja im Normalfall schon eine Klasse. Und dann fände ich das prima, wenn die derzeitige Klasse in dem Eingabefeld schon drinsteht und dann nur bei Bedarf geändert wird.
Benutzeravatar
grubenfox
User
Beiträge: 435
Registriert: Freitag 2. Dezember 2022, 15:49

nur ein paar kurze Kommentare...
Pitwheazle hat geschrieben: Montag 19. Dezember 2022, 16:52 - Bisher habe ich in den Schülerdaten nur ein Feld für die Lerngruppe vorgesehen (ich bin nicht sicher, ob ich auch einen Link auf Schulort, Schule und Lehrer benötige).
- möglicherweise kann man besser helfen wenn auch die Struktur der Datenbank bekannt ist

Pitwheazle hat geschrieben: Montag 19. Dezember 2022, 16:52 Ich vermute, ich benötige ein widget mit einem Auswahlfeld in das ich jeweils nacheinander den Inhalt der Orte, der Schule, der Lehrerinnen und Lehrer und zuletzt der Lerngruppen einlese.
Also bei den gegeben Anforderungen:
Pitwheazle hat geschrieben: Montag 19. Dezember 2022, 16:52 - Die Schülerinnen und Schüler können aus einer Liste ihren Schulort (wenn vorhanden) aussuchen, anschließend ihre Schule, dann ihre/n Lehrer/in und zuletzt ihre Lerngruppe (deren Namen entweder selbsterklärend ist oder deren Namen sie von der Lehrkraft mitgeteilt bekommen).
Pitwheazle hat geschrieben: Montag 19. Dezember 2022, 16:52 Im Profil können sie zunächst in einer Liste nach ihrem Schulort suchen, wenn sie ihn finden bekommen sie eine Liste mit den dortigen Schulen, dann eine der Lehrereinnen und Lehrer dort und zuletzt deren Lerngruppen.
wäre ich da eher bei vier Auswahlfeldern: das erste (Orte) wird zuerst gefüllt, wenn der Ort gewählt ist wird das zweite mit den möglichen Schulen gefüllt, nach Auswahl der Schule kommen im dritten die möglichen Lehrer/in und am Ende im vierten die Lehrgruppen.

Ob es die Programmierung nun unbedingt einfacher macht, kann ich nicht beurteilen. Welches Webframework eigentlich? Django?
Pitwheazle
User
Beiträge: 881
Registriert: Sonntag 19. September 2021, 09:40

grubenfox hat geschrieben: Montag 19. Dezember 2022, 17:33 wäre ich da eher bei vier Auswahlfeldern: das erste (Orte) wird zuerst gefüllt, wenn der Ort gewählt ist wird das zweite mit den möglichen Schulen gefüllt, nach Auswahl der Schule kommen im dritten die möglichen Lehrer/in und am Ende im vierten die Lehrgruppen.

Ob es die Programmierung nun unbedingt einfacher macht, kann ich nicht beurteilen. Welches Webframework eigentlich? Django?
Na klar, der Vorschlag mit vier Auswahlfeldern, die nacheinander gefüllt werden ist prima.
Jawohl - Django
grubenfox hat geschrieben: Montag 19. Dezember 2022, 17:33 - möglicherweise kann man besser helfen wenn auch die Struktur der Datenbank bekannt ist
Bitteschön:

Code: Alles auswählen

class Ort(models.Model):
    name = models.CharField(max_length=50)
    plz = models.PositiveSmallIntegerField(default=0)
    
    def __str__(self):
        return f"({self.plz} {self.name})"
    
    class Meta:
        verbose_name_plural = 'Orte'
    
class Schule(models.Model):
    ort = models.ForeignKey(Ort, null=True, on_delete=models.SET_NULL)
    name = models.CharField(max_length=50)
    
    def __str__(self):
        return f"({self.name}, {self.ort})"
    
    class Meta:
        verbose_name_plural = 'Schulen'

class Lehrer(models.Model):
    user = models.OneToOneField(User, related_name='lehrer', on_delete=models.CASCADE )
    schule = models.ForeignKey(Schule, null=True, on_delete=models.SET_NULL)
    nachname = models.CharField(max_length=30)
    vorname = models.CharField(max_length=30)
    jg = models.PositiveSmallIntegerField(default=10, validators=[MinValueValidator(5), MaxValueValidator(10)])
    kurs= models.CharField(max_length=1, choices=wahl_kurs.choices, default=wahl_kurs.E_KURS,)
    stufe = models.PositiveSmallIntegerField(default=51) 
    
    class Meta:
        verbose_name_plural = 'Lehrer'
    
    def __str__(self):
        return f"({self.vorname} {self.nachname}, {self.schule})"
    
class Lerngruppe(models.Model):
    lehrer = models.ForeignKey(Lehrer, null=True, on_delete=models.CASCADE)
    name = models.CharField(max_length=10)
    
    class Meta:
        verbose_name_plural = 'Lerngruppen'
    
    def __str__(self):
        return f"({self.name}, {self.lehrer})"

class Schueler(models.Model):
    user = models.OneToOneField(User, related_name='schueler', on_delete=models.CASCADE )
    nachname = models.CharField(max_length=30)
    vorname = models.CharField(max_length=30)    
    klasse = models.CharField(max_length=10)
    lerngruppe = models.ForeignKey(Lerngruppe, null=True, blank=True, on_delete = models.SET_NULL)    
    jg = models.PositiveSmallIntegerField(validators=[MinValueValidator(5), MaxValueValidator(10)])
    kurs= models.CharField(max_length=1, choices=wahl_kurs.choices, default=wahl_kurs.E_KURS,)


    def __str__(self):
        return f"({self.vorname} {self.nachname}, {self.klasse})"

    class Meta:
        verbose_name = 'Schüler'
        verbose_name_plural = 'Schüler'
Benutzeravatar
grubenfox
User
Beiträge: 435
Registriert: Freitag 2. Dezember 2022, 15:49

Mmmh... zum einen bemerke ich gerade dass ich den Schul- und Lehrbetrieb immer nur von der anderen Seite (als Schüler/Student) kennengelernt hatte und zum anderen dass die Zeiten vermutlich schon zu lange her sind... (hatte mich die letzten Jahre ab und an gewundert was die Tochter von Freunden so heutzutage an der Schule treibt)

'jg': soll vermutlich nicht 'JugendGruppe' bedeuten?
'Kurs': entweder wundert mich dass ein Lehrer nur einen Kurs "anbieten" kann oder (nach dem ich jetzt bemerkte das der Kurs nur ein Buchstabe lang ist) ich missverstehe hier den Begriff komplett falsch.
Und zur 'Stufe' mit dem Defaultwert von 51 fällt mir nun fast gar nichts ein. Nur die starke Vermutung dass man die Stufe hier beim Thema 'Nutzerprofil' wohl ignorieren kann.... und eben auch meine geistigen Fragezeichen bei 'jg' und 'Kurs' können wir hier beim Nutzprofil wohl ignorieren.
Benutzeravatar
grubenfox
User
Beiträge: 435
Registriert: Freitag 2. Dezember 2022, 15:49

aber eine On-Topic-Frage habe ich doch noch...
Feld 'lerngruppe' in der Klasse 'Schueler': ein Schüler kann/darf/soll immer nur zu genau einer Lerngruppe gehören? Oder zu keiner wenn das Feld leer ist....
Benutzeravatar
__blackjack__
User
Beiträge: 13152
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Bei `jg` würde ich „Jahrgang“ vermuten — aber da sieht man warum Abkürzungen nicht so toll sind.
“There will always be things we wish to say in our programs that in all known languages can only be said poorly.” — Alan J. Perlis
Pitwheazle
User
Beiträge: 881
Registriert: Sonntag 19. September 2021, 09:40

grubenfox hat geschrieben: Montag 19. Dezember 2022, 19:44 'jg': soll vermutlich nicht 'JugendGruppe' bedeuten?
'Kurs': entweder wundert mich dass ein Lehrer nur einen Kurs "anbieten" kann oder (nach dem ich jetzt bemerkte das der Kurs nur ein Buchstabe lang ist) ich missverstehe hier den Begriff komplett falsch.
Und zur 'Stufe' mit dem Defaultwert von 51 fällt mir nun fast gar nichts ein. Nur die starke Vermutung dass man die Stufe hier beim Thema 'Nutzerprofil' wohl ignorieren kann.... und eben auch meine geistigen Fragezeichen bei 'jg' und 'Kurs' können wir hier beim Nutzprofil wohl ignorieren.
Jawohl, die kann man in Bezug auf meine Fragestellung ignorieren. Da aber immer gemault wird, dass ich was weglasse oder meine Abkürzungen so kurz sind, habe ich die Felder dringelassen.
Ich erkläre sie aber gerne:

jg: ist der Jahrgang (für mich ist das in dem Zusammenhang logisch)

kurs: Ich komme aus einer integrierten Gesamtschule und in diesen werden die Schülerinnen und Schüler in einigen Fächern (wie z.B. Mathematik) in (Leistung)-Kursen unterrichtet. Im zweigliedrigen Sytem gibt es "E"-(Erweiterungs)-Kurse und "G"-Kurse imd dreigliedrigen "A", "B" und "C" Kurse. Mein Rechentrainer ist aber auch auf Gymnasium("Y"), Realschule("R") und Hauptschule ("H") eingerichtet und außerdem gibt es noch ein Niveau für "i" (Integration) für Kinder mit Lernschwäche. Die Schwierigkeit der Aufgaben und die Hilfetexte sowie die Auswahlmöglichkeiten der Optionen sind auf diese Leistungstufen angepasst.

Im Lauf der Jahre ("jg") und der Erfahrung steigen auch die Ansprüche und das sind die Stufen (wie im Buddhismus). So lernen die Schülerinnen und Schüler im 6. Schuljahr die Bruchrechnung und das Rechnen mit Kommazahlen. Am Anfang des 6. Schuljahrers können sie es noch nicht und im 7. müssen sie es können - daher werden sie im Laufe des 6.Schuljahres die Stufe 6/7 erreichen und ab dann müssen sie bei den meisten Aufgabenkategorien mit Kommazahlen rechnen. Wenn es wirklich jemanden interessiert - hier ist eine Auflistung der Anforderungen in den einzelnen Stufen: https://www.dropbox.com/s/rkyhr0w5kwugm ... n.pdf?dl=0. Und wenn es interessiert, erkläre ich auch, wie die Stufen erreicht werden.

Ach ja: Wenn der Lehrer/die Lehrerin in den Unterricht geht, sitzen die Schülerinnen und Schüler in Lerngruppen (In integrierten Gesamtschulen werden sie nun mal nicht in Klassen unterrichtet) - und von diesen Lerngruppen unterrichtet die Lehrkraft im Normalfall mehrere und die kann er auch anlegen.
grubenfox hat geschrieben: Montag 19. Dezember 2022, 19:44 Feld 'lerngruppe' in der Klasse 'Schueler': ein Schüler kann/darf/soll immer nur zu genau einer Lerngruppe gehören? Oder zu keiner wenn das Feld leer ist....
Genau

So, ich hoffe, geholfen zu haben - bin aber für jede weitere Auskunft zu haben.

PS.: Wie ist es mit "plz"? geht das?
Benutzeravatar
grubenfox
User
Beiträge: 435
Registriert: Freitag 2. Dezember 2022, 15:49

Aha, besten Dank für die Infos. Mein bisheriger Kontakt mit integrierten Gesamtschulen ist relativ genau gleich Null.... (den Begriff kannte ich schon, aber das war dann auch alles).

Gegen 'plz' habe ich nichts, WENN als Typ String und nicht Integer (oder ein anderer nummerischer Typ) genutzt wird!
In Deutschland gibt es bei Integer Probleme mit den östlichen PLZ die mit einer führenden 0 beginnen und bei ausländischen PLZ (hier wohl eher nicht das Problem, höchstens bei grenznahen Schulen) wird es ganz abenteuerlich. :o

Ich hatte mal mit einer Adressdatenbank mit internationalen Adressen zu tun. Seitdem habe ich auch den Gedanken an eine programmatische Prüfung auf korrekte Postleitzahl aufgegeben. Da scheint es für jedes Land eigene Regeln zu geben und ob man da die Recherche und Implementierungen nun bezahlt bekommt.. :?:
Benutzeravatar
Whitie
User
Beiträge: 216
Registriert: Sonntag 4. Juni 2006, 12:39
Wohnort: Schulzendorf

grubenfox hat geschrieben: Dienstag 20. Dezember 2022, 00:29 Gegen 'plz' habe ich nichts, WENN als Typ String und nicht Integer (oder ein anderer nummerischer Typ) genutzt wird!
In Deutschland gibt es bei Integer Probleme mit den östlichen PLZ die mit einer führenden 0 beginnen und bei ausländischen PLZ (hier wohl eher nicht das Problem, höchstens bei grenznahen Schulen) wird es ganz abenteuerlich. :o
Ich glaube, das ist Geschmackssache. Ich würde deutsche Postleitzahlen eher als Zahl speichern, die führende Null ist ja bei der Ausgabe schnell rein formatiert

Code: Alles auswählen

plz = 1234
print(f'PLZ: {plz:05d}')
Viele Grüße
Whitie
Benutzeravatar
__blackjack__
User
Beiträge: 13152
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Whitie: Das ist keine Geschmackssache. Postleitzahlen sind keine Zahlen mit denen man sinnvoll rechnen kann. Und so Sätze wie „die sind 4-stellig, daran ändert sich nichts“, und „ich muss nur deutsche Postleitzahlen verarbeiten“, haben schon so einige gesagt, und mussten später dann die Datenbank entsprechend anpassen.
“There will always be things we wish to say in our programs that in all known languages can only be said poorly.” — Alan J. Perlis
Benutzeravatar
grubenfox
User
Beiträge: 435
Registriert: Freitag 2. Dezember 2022, 15:49

Ja... das die Dinger anderswo "zip code" genannt werden passt schon gut... Aber wenn schon was mit "Post..." und "...zahl", dann doch bitte "Postleidzahlen" ;)
Benutzeravatar
Whitie
User
Beiträge: 216
Registriert: Sonntag 4. Juni 2006, 12:39
Wohnort: Schulzendorf

Da gebe ich euch ja prinzipiell recht. Ich schrieb extra deutsche Postleitzahlen. Ich habe hier eine Anwendung die damit rechnet. Damit kann man nämlich wunderbar die Gegend eingrenzen. Ich vermute, die Sortiermaschinen bei der Post machen das ähnlich.

VIele Grüße
Whitie
Benutzeravatar
__blackjack__
User
Beiträge: 13152
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Whitie: Das ist kein Rechnen das sind Vergleiche die auch mit Zeichenketten gehen.
“There will always be things we wish to say in our programs that in all known languages can only be said poorly.” — Alan J. Perlis
Pitwheazle
User
Beiträge: 881
Registriert: Sonntag 19. September 2021, 09:40

Können wir von den Postleitzahlen nochmal zu meiner Frage zurückkommen?
Ich habe es tatsächlich schon fast hinbekommen. Die User können sowohl ihren Klassennamen ändern als auch eine Lerngruppe wählen. Und auch alle gespeicherten Orte, Schulen, Lehrer und Lerngruppen werden angezeigt (sieht allerdings noch nicht wirklich gut aus):
Bild

Allerdings werden alle Schulen, Lehrer und Lerngruppen angezeigt. Wenn mein Projekt mal ein Erfolgt wird, werden das (hoffentlich) viele Lerngruppen. Ich möchte (wie beschrieben), nach Wahl des Schulortes nur die Schulen an diesem Ort angezeigt bekommen und entsprechend bei den Lehrern und Lerngruppen.

Code: Alles auswählen

class Schule_Form(forms.Form):
    schule = forms.ModelChoiceField(queryset=Schule.objects.all(), widget=forms.Select)
in views kann ich die Schulen ja filtern:

Code: Alles auswählen

        if  ort.is_valid():
            ort_wahl = ort.cleaned_data['ort']             
            schulen_liste = Schule.objects.filter(ort=ort_wahl)
... aber wie bekomme ich die Auswahl in die forms?
Und dann fände ich es ja auch besser, wenn ein Auswahlfeld immer erst angezeigt wird, wenn im vorherigen etwas ausgewählt wurde.
(Und wahrscheinlich geht das ganze auch noch eleganter?)
forms:

Code: Alles auswählen

class Ort_Form(forms.Form):
...
    ort = forms.ModelChoiceField(label="Schulort", queryset=Ort.objects.all().order_by('plz'), widget=forms.Select)

class Schule_Form(forms.Form):
    schule = forms.ModelChoiceField(queryset=Schule.objects.all(), widget=forms.Select)

class Lehrer_Form(forms.Form):
    lehrer = forms.ModelChoiceField(label="Lehrer/in", queryset=Lehrer.objects.all(), widget=forms.Select)     

class Gruppe_Form(forms.Form):
    gruppe = forms.ModelChoiceField(label="meine Lerngruppe", queryset=Lerngruppe.objects.all(), widget=forms.Select)  
views:

Code: Alles auswählen

def profil(req):
...
    nutzer = req.user.schueler
    schueler = Schueler.objects.get(user=req.user)
    if req.method == 'POST':
...
        ort = Ort_Form(req.POST)
        if  ort.is_valid():
            ort_wahl = ort.cleaned_data['ort']             
            schulen_liste = Schule.objects.filter(ort=ort_wahl)
            print(schulen_liste)   
        else:
            ort_wahl=""
        schule = Schule_Form(req.POST)
        if  schule.is_valid():            
            schule_wahl = schule.cleaned_data['schule']             
        else:
            schule_wahl="" 
        lehrer = Lehrer_Form(req.POST)
        if  lehrer.is_valid():
            lehrer_wahl = lehrer.cleaned_data['lehrer']             
        else:
            lehrer_wahl=""
        gruppe = Gruppe_Form(req.POST)
        if  gruppe.is_valid():
            schueler.lerngruppe = gruppe.cleaned_data['gruppe'] 
            schueler.save()            
            return redirect('index')
    else:
        profil_form = Schueler_Aendern_Form()
        ort = Ort_Form()
        schule = Schule_Form()
        lehrer = Lehrer_Form()
        gruppe = Gruppe_Form()        
        ort_wahl = ""
        schule_wahl = ""
        lehrer_wahl = ""
    context = {'nutzer': nutzer, 'profil_form': profil_form,
        'ort': ort, 'ort_wahl': ort_wahl, 'schule': schule, 'schule_wahl': schule_wahl,'lehrer': lehrer}
    return render(req, 'profil.html', context)
und template:

Code: Alles auswählen

<body>
<h2>Mein Profil:</h2>
...
<h3>Wenn deine Lehrerin/dein Lehrer deine Lerngruppe beim Rechentrainer angemeldet hat, kannst du sie hier suchen:</h3>
<form action="/profil/" method="POST">
    {% csrf_token %} 
    {{ort}}
    <button type="submit">auswählen</button>
</form>
<form action="/profil/" method="POST">
    {% csrf_token %} 
    {{schule}}
    <button type="submit">auswählen</button>
</form>
<form action="/profil/" method="POST">
    {% csrf_token %} 
    {{lehrer}}
    <button type="submit">auswählen</button>
</form>
<form action="/profil/" method="POST">
    {% csrf_token %} 
    {{gruppe}}
    <button type="submit">auswählen</button>
</form>
</body>
Benutzeravatar
Whitie
User
Beiträge: 216
Registriert: Sonntag 4. Juni 2006, 12:39
Wohnort: Schulzendorf

Da gibt es im Prinzip zwei Möglichkeiten:

1. Du teilst die Formulare auf mehrere Seiten auf (wie eine Art Wizard) und filterst im View oder

2. Du liest dich in Javascript ein und befüllst die Dropdowns nacheinander.

Viele Grüße
Whitie
Pitwheazle
User
Beiträge: 881
Registriert: Sonntag 19. September 2021, 09:40

Whitie hat geschrieben: Freitag 23. Dezember 2022, 07:41 ... und filterst im View ...
Ich bekomme es nicht hin! Im view kann ich filtern, aber wie bekomme ich ein Auswahlfeld in dem diese gefilterten Schulen, Lehrer oder Lerngruppen drinstehen. Wie oder wo also ersetze ich dieses "Schule.objects.all()" hier in den forms:

Code: Alles auswählen

class Schule_Form(forms.Form):
    schule = forms.ModelChoiceField(queryset=Schule.objects.all(), widget=forms.Select)
Sirius3
User
Beiträge: 17777
Registriert: Sonntag 21. Oktober 2012, 17:20

Du musst nur den querbeet mit deinem Filter überschreiben.
https://forum.djangoproject.com/t/filte ... lid/7451/3
Pitwheazle
User
Beiträge: 881
Registriert: Sonntag 19. September 2021, 09:40

Huhu, es hat geklappt! Was würde ich nur ohne euch machen!
Frohe Weihnachten!
Antworten