2017-08-30 121 views
0

我有一個django視頻模型,如果所有者ID等於當前用戶ID,我想獲取「nameoriginalvideo」的最後一個值。queryset django爲列的最後一個值,如果另一列等於一個值

這是我的MySQL表相當於型號: enter image description here 這是我試過,但沒有奏效:

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}) 

預先感謝您。

+0

你正在使用哪個版本的Django? – anuragal

+0

@anuragal它是1.11.3 –

+0

這是一個可能的重複1. https://stackoverflow.com/questions/2191010/get-last-record-in-a-queryset 2. https://stackoverflow.com/questions/15675672/django-get-the-latest-record-filter- – anuragal

回答

0

你可以這樣做:

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

originalvideo = 
Videounwtm.objects.values('nameoriginalvideo').filter(owner_id = 
request.user.id).last() 
當你申請的第一個()'

它返回一個字典,因此,你可以不適用 '最後的()' 在一本字典。

+0

你可以展示模型定義 –

+0

謝謝,我在我的答案中發佈了什麼使其工作。 –

0

這解決了此問題:

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] 

這是一個僞代碼。 過濾帶有用戶ID的元素,按id和第0個元素相反順序排列的查詢元素將被最後一個插入。

相關問題