2016-12-29 1 views
1

Ich habe einige Modelle und einer von ihnen ist ein Fremdschlüssel für das Benutzermodell, das django admin erweitert. Ich möchte anzeigen, was einem Benutzer in seiner Sitzung bei der Anmeldung gehört. Ich habe diese Authentifizierung definiert, die prüft, ob ein bestimmter Benutzer in der Datenbank vorhanden ist und sie an ihre Sitzung mit ihren Instanzen umleiten.django Benutzer anmelden und ihre Instanz und Elemente in der Datenbank anzeigen

def auth_view(request): 
    username = request.POST.get('username', '') 
    password = request.POST.get('password', '') 
    user = auth.authenticate(username=username, password=password) 

    if user is not None: 
     auth.login(request, user) 
     return HttpResponseRedirect('/studentloggedin/') 

Grundsätzlich Die Registrierung ist das erste Modell und ein Fremdschlüssel für Studentenmodell, während Schüler auch ein Fremdschlüssel zu UserLog ist. UserLog erweitert den Standard-Django-Admin. Ich habe hier die eingeloggte Sitzung definiert, um Details der einzelnen Benutzer bei der Anmeldung herauszufiltern.

def studentloggedin(request): 
     registration = Registration.objects.all() 
     students = Student.objects.filter(registration=registration) 
     alluser = UserLog.objects.filter(student=students) 
     context = { 
     'registration': registration, 
     'students': students, 
     'alluser': alluser, 

     } 
     return render(request, "studentloggedin.html", context) 

Hier ist die Vorlage, die die Informationen bei der Anmeldung rendert.

<img 
    {% for student in students %} 

    src="{{ student.student_photo.url }}"> 

    <p>{{ student.previous_school }}</p> 

    {% endfor %} 

Aber ich bin immer die folgenden Fehler:

ProgrammingError bei/studentloggedin/

mehr als eine Zeile von einer Unterabfrage zurückgegeben als Ausdruck verwendet

+0

Haben Sie eine for-Schleife auf student.previous_school läuft versucht? Der Fehler bedeutet, dass Sie versuchen, mehrere Objekte in ein einziges Objekt zu schieben –

Antwort

Verwandte Themen