Django limit_choices_to для нескольких полей с условием "или"

Я пытаюсь ограничить выбор для поля, проверяя значения двух столбцов, "share_holder" и "distributor". Если кто-то из них правдив, то я хочу такой выбор.

В следующей версии я получил только варианты, удовлетворяющие обоим условиям ("share_holder": True и "distributor": True).

limit_choices_to={'share_holder': True, 'distributor': True}

Тем не менее, мне нужны варианты для ("share_holder": True ИЛИ "distributor": True).

1 ответ

Решение

Вы можете использовать объекты Q для достижения этой цели.

from django.db.models import Q


limit_choices_to=Q(share_holder=True) | Q(distributor=True)

Официальные документы на ForeignKey.limit_choices_to

Другие вопросы по тегам