Непонятно, self.kwargs['slug'] - это из урла. Тогда почему оно не всегда есть? Если оно не всегда, то, может, стоит его в get запихнуть и нормально фильтровать?
P.S. __init__() got an unexpected keyword argument 'slug' - ну так нет у фильтрсета такого параметра, а вы его в super() передаете. Удаляйте из kwargs его, если он там есть после того, как сделали self.slug = kwargs.get('slug', 0)