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