Fix user not showing in list of songs.

This commit is contained in:
Jim Driessen
2017-01-22 18:12:22 +01:00
parent 898588bc64
commit 1b3c335511
3 changed files with 6 additions and 6 deletions

View File

@ -34,7 +34,7 @@ def songs(request):
artist__icontains=request.POST.get('artist', ''),
title__icontains=request.POST.get('title', ''),
user__name__icontains=request.POST.get('uploader', '')
).order_by('artist', 'title')
).order_by('artist', 'title').select_related('user')
total = len(songs_query)
paginator = Paginator(songs_query, pagesize)
@ -45,7 +45,7 @@ def songs(request):
except EmptyPage:
songs = paginator.page(paginator.num_pages)
songs_dict = [song_to_dict(song) for song in songs.object_list]
songs_dict = [song_to_dict(song, user=True) for song in songs.object_list]
return JsonResponse({
'total': total,

View File

@ -2,7 +2,7 @@ import socket, struct, binascii
from django.conf import settings
def song_to_dict(song, hash=False):
def song_to_dict(song, hash=False, user=False):
data = {
'id': song.id,
'artist': song.artist,
@ -13,8 +13,8 @@ def song_to_dict(song, hash=False):
if hash:
data['hash'] = song.hash
if hasattr(song, 'uploader_name') and song.uploader_name is not None and len(song.uploader_name) > 1:
data['uploader_name'] = song.uploader_name
if user and song.user is not None and len(song.user.name) > 1:
data['uploader_name'] = song.user.name
return data

View File

@ -90,7 +90,7 @@ class Queue(models.Model):
.filter(Q(playlist=self.playlist_id) | Q(playlist_id=self.random_playlist_id),
Q(state=0) | Q(state=1))\
.order_by('-state', 'playlist_id', 'order')\
.prefetch_related('song', 'user')
.select_related('song', 'user')
return self.songs
def current_song(self):