Django limit_choices_to 用于具有 "or" 条件的多个字段

Django limit_choices_to for multiple fields with "or" condition

我试图通过检查 'share_holder' 和 'distributor' 两列的值来限制字段的选择。如果其中任何一个是真的,那么我想要那个选择。

在以下版本中,我只有满足两个条件的选择('share_holder':True AND 'distributor':True)。

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

但是,我需要选择 ('share_holder': True OR 'distributor': True)。

您可以使用 Q 对象来实现。

from django.db.models import Q


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

ForeignKey.limit_choices_to

上的官方文档