Django limit_choices_to用于带有“或”的多个字段健康)状况 [英] Django limit_choices_to for multiple fields with "or" condition
本文介绍了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)。
解决方案
您可以使用Q对象来实现此目的。
<$ p $来自django.db.models的p>
import Q
limit_choices_to = Q(shareholder = True)| Q(distributor = True)
I am trying to limit choices for a field, by checking values of the two columns, 'share_holder' and 'distributor'. If any of them is true, then I want that choice.
With below version, I only got choices satisfying both conditions ('share_holder': True AND 'distributor': True).
limit_choices_to={'share_holder': True, 'distributor': True}
However, I need choices for ('share_holder': True OR 'distributor': True).
解决方案
You can use Q objects to achieve this.
from django.db.models import Q
limit_choices_to=Q(share_holder=True) | Q(distributor=True)
Official docs on ForeignKey.limit_choices_to
这篇关于Django limit_choices_to用于带有“或”的多个字段健康)状况的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文