在django中按布尔值过滤ForeignKey

时间:2010-06-28 08:00:20

标签: python django django-models django-admin foreign-keys

我有这些模特:

class Client(models.Model):
    is_provider = models.BooleanField()

class Billing(models.Model):
    client = models.ForeignKey(Client)

我想限制ForeignKey的选择,只显示is_provider=True的客户端。是否有类似的东西:

limit_choices_to = {'is_provider': True}

或者我可以用来过滤ForeignKey的任何东西?

2 个答案:

答案 0 :(得分:1)

您是否尝试过以下方法:

limit_choices_to = {'client__is_provider': True}

答案 1 :(得分:1)

是的,你已经有了确切的语法。

client = models.ForeignKey(Client, limit_choices_to = {'is_provider': True})