gpt4 book ai didi

django - 将 ForeignKey 的可能值限制为模型的子集

转载 作者:行者123 更新时间:2023-12-04 23:41:46 25 4
gpt4 key购买 nike

我有以下模型:

class SOA(models.Model):
adviser = models.ForeignKey(User)
...
adviser不能是任何用户,而是满足某些要求的用户(例如,属于某个组的用户)。例如,在处理表单时,这是相关的:用于选择 adviser 的下拉列表。向我显示系统中的所有用户,但我想过滤它并且只显示实际上是顾问的用户(在这种情况下,定义为属于 advisers 组)

是否可以在模型级别处理这种约束?或者也许在填充表单中的选择框时?

最佳答案

您可以使用 limit_choices_to ForeignKey 的初始化参数类(class)。例如:

adviser = models.ForeignKey(User, limit_choices_to={'is_staff': True})

对于更复杂的查询,您可以使用 Q objects :
..., limit_choices_to=Q(share_holder=True) | Q(distributor=True)

关于django - 将 ForeignKey 的可能值限制为模型的子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35291612/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com