我有以下模型:
class SOA(models.Model): adviser = models.ForeignKey(User) ...
字符串adviser不能是任何用户,而是满足某些要求的用户(例如,属于某个组的用户)。这与例如处理表单时相关:选择adviser的选项卡显示了系统中的所有用户,但我想过滤这些用户,只显示实际上是顾问的用户(在这种情况下,通过属于advisers组来定义)有没有可能在模型级别处理这种约束?或者在填充表单中的选择框时?
adviser
advisers
axzmvihb1#
可以使用ForeignKey类的limit_choices_to init参数。例如:
ForeignKey
limit_choices_to
adviser = models.ForeignKey(User, limit_choices_to={"is_staff": True})
字符串对于更复杂的查询,可以使用Q对象:
Q
..., limit_choices_to=Q(share_holder=True) | Q(distributor=True)
型
1条答案
按热度按时间axzmvihb1#
可以使用
ForeignKey
类的limit_choices_to
init参数。例如:字符串
对于更复杂的查询,可以使用
Q
对象:型