Как получить, когда один из участников ManytoMany включен - PullRequest
0 голосов
/ 20 апреля 2020

У меня есть модель Machine, в которой есть несколько переключателей (много ко многим).

Я делаю фильтр для выборки, когда более одного переключателя 'Вкл'.

queryset.filter(switchs__is_on=True)

не работает.

как я могу это решить ??

class Machine
    switchs = models.ManyToManyField(Station)

class Switch(models.Model):
    is_on = models.BooleanField()

class MachineFilter(filters.FilterSet):
    on_switch = filters.BooleanFilter(method='on_switch_filter') 

class MachineFilter(filters.FilterSet):
    def on_switch_filter(self, queryset, name, value):
        if name == 'on_switch' and value:
            return queryset.filter(switchs__is_on=True) // it doesn't work
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...