2017-08-30 6 views
0

Ich habe ein django Video-Modell, und ich will den letzten Wert bekommen „nameoriginalvideo“, wenn Eigentümer-ID für den aktuellen Benutzer-ID entspricht.queryset django für letzte Wert der Spalte, wenn eine andere Spalte auf einen Wert gleich ist

Dies ist meine MySQL-Tabelle entspricht dem Modell: enter image description here Das ist, was ich versucht, aber es hat nicht funktioniert:

def teste(request): 
    originalvideo = Videounwtm.objects.values('nameoriginalvideo').filter(owner_id = request.user.id).first().last() 
    vle = originalvideo['nameoriginalvideo'] 
    return render(request, 'teste.html', {'vle': vle}) 

Vielen Dank im Voraus.

+0

Welche Version von Django Sie verwenden? – anuragal

+0

@anuragal Es ist 1.11.3 –

+0

Dies ist eine mögliche Duplikat 1. https://stackoverflow.com/questions/2191010/get-last-record-in-a-queryset 2. https://stackoverflow.com/questions/15675672/django-get-the-latest-Rekord-mit-Filter – anuragal

Antwort

0

Sie können entweder:

originalvideo = 
Videounwtm.objects.values('nameoriginalvideo').filter(owner_id = 
request.user.id).first() 

oder

originalvideo = 
Videounwtm.objects.values('nameoriginalvideo').filter(owner_id = 
request.user.id).last() 

, wenn Sie sich bewerben 'erste()' es ein Wörterbuch daher zurückgibt, kann man nicht 'last()' auf einem Wörterbuch anzuwenden.

+0

können Sie das Modell Definition –

+0

Danke zeigen, posted ich in meiner Antwort, was es getan hat funktioniert. –

0

Dies löst das Problem:

originalvideo = Videounwtm.objects.values('nameoriginalvideo').filter(owner_id = request.user.id).order_by('-uploaded_at')[0] 
    vle = originalvideo['nameoriginalvideo'] 
0
if not request.user.is_authenticated: 
    return 

last = Model.objects.filter(id= request.user.id).order_by('-id')[0] 

Dies ist ein Pseudo-Code. Filterelemente mit Benutzer-ID, Abfrageelement in umgekehrter Reihenfolge der ID und das 0. Element wird zuletzt eingefügt.

Verwandte Themen