2018-03-19 18:07:52 +00:00
|
|
|
from django_filters import rest_framework as filters
|
|
|
|
|
2018-03-21 10:58:11 +00:00
|
|
|
from funkwhale_api.music import utils
|
|
|
|
|
2018-03-19 18:07:52 +00:00
|
|
|
from . import models
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class PlaylistFilter(filters.FilterSet):
|
2018-03-21 10:58:11 +00:00
|
|
|
q = filters.CharFilter(name='_', method='filter_q')
|
2018-03-19 18:07:52 +00:00
|
|
|
|
|
|
|
class Meta:
|
|
|
|
model = models.Playlist
|
|
|
|
fields = {
|
|
|
|
'user': ['exact'],
|
2018-03-21 10:58:11 +00:00
|
|
|
'name': ['exact', 'icontains'],
|
|
|
|
'q': 'exact',
|
2018-03-19 18:07:52 +00:00
|
|
|
}
|
2018-03-21 10:58:11 +00:00
|
|
|
|
|
|
|
def filter_q(self, queryset, name, value):
|
|
|
|
query = utils.get_query(value, ['name', 'user__username'])
|
|
|
|
return queryset.filter(query)
|