Django RestFRamework фильтрует поле модели ManytoMany

В моем приложении django у меня есть две модели:

class Device(models.Model):
    mac_id = models.CharField(max_length=400, primary_key=True, null=False)
    short_name = models.CharField(max_length=400, default='')
    ...

class Anagrafica(models.Model):
    id = models.AutoField(primary_key=True)
    cod_imp = models.CharField(max_length=80, verbose_name="Codice impianto")
    rb_sel = models.ManyToManyField(Device)

Ну, мне нужно фильтровать в моем API с помощью Django RestFramework поле rb_sel, поэтому я пытаюсь:

в serialyzers.py:

class RaspFilter(django_filters.FilterSet):
    rb_sel = django_filters.BaseInFilter(
        name ='rb_sel__short_name',
        lookup_type='in',
    )

class Meta:
    model = Anagrafica
    fields = ('cod_imp', 'rb_sel')


class AnagraficaSerializer(serializers.ModelSerializer):
    owner = serializers.ReadOnlyField(source='owner.username')
    rb_list = DeviceSerializer(read_only=True, many=True)

    class Meta:
        model = Anagrafica
        fields = ['id', 'cod_imp', 'soc', 'soc_sigla', 'regione', 'prov', 'comune', 'cap', 'indirizzo', 'coordinate', 'notes', 'rb_list', 'owner']
        filter_class = RaspFilter

и в моем views.py я добавляю:

filter_backends = [DjangoFilterBackend]
filter_class = RaspFilter

но когда я пробую свой api, я получаю ошибку 500:

TypeError at /api/anagrafica/ init() получил неожиданный аргумент ключевого слова 'name'

где я ошибаюсь? как я могу отфильтровать поле rb_list моей мультомании?

Заранее большое спасибо

Вернуться на верх