kopia lustrzana https://dev.funkwhale.audio/funkwhale/funkwhale
More filters / ordering option on playlist API
rodzic
f503466a24
commit
bf6fe44bed
|
@ -1,13 +1,22 @@
|
|||
from django_filters import rest_framework as filters
|
||||
|
||||
from funkwhale_api.music import utils
|
||||
|
||||
from . import models
|
||||
|
||||
|
||||
|
||||
class PlaylistFilter(filters.FilterSet):
|
||||
q = filters.CharFilter(name='_', method='filter_q')
|
||||
|
||||
class Meta:
|
||||
model = models.Playlist
|
||||
fields = {
|
||||
'user': ['exact'],
|
||||
'name': ['exact', 'icontains'],
|
||||
'q': 'exact',
|
||||
}
|
||||
|
||||
def filter_q(self, queryset, name, value):
|
||||
query = utils.get_query(value, ['name', 'user__username'])
|
||||
return queryset.filter(query)
|
||||
|
|
|
@ -8,15 +8,14 @@ from rest_framework.decorators import detail_route
|
|||
from rest_framework.response import Response
|
||||
from rest_framework.permissions import IsAuthenticatedOrReadOnly
|
||||
|
||||
from funkwhale_api.music.models import Track
|
||||
from funkwhale_api.common import permissions
|
||||
from funkwhale_api.common import fields
|
||||
from funkwhale_api.music.models import Track
|
||||
|
||||
from . import filters
|
||||
from . import models
|
||||
from . import serializers
|
||||
|
||||
|
||||
class PlaylistViewSet(
|
||||
mixins.RetrieveModelMixin,
|
||||
mixins.CreateModelMixin,
|
||||
|
@ -37,6 +36,7 @@ class PlaylistViewSet(
|
|||
]
|
||||
owner_checks = ['write']
|
||||
filter_class = filters.PlaylistFilter
|
||||
ordering_fields = ('id', 'name', 'creation_date', 'modification_date')
|
||||
|
||||
def get_serializer_class(self):
|
||||
if self.request.method in ['PUT', 'PATCH', 'DELETE', 'POST']:
|
||||
|
|
Ładowanie…
Reference in New Issue