Django模型有两个外键

时间:2018-03-30 09:58:01

标签: python django

我在django中有以下模型,我想在查询集中获取特定销售人员的客户。这意味着我希望拥有至少一个策略的客户具有特定的销售员。

class Salesman(models.Model):
      name = models.Charfield()

class Customer(models.Model):
      name = models.Charfield()

 class Policy(models.Model):
      policy_number = models.Charfield()
      salesman = models.Foreignkey(Salesman)
      customer = models.Foreignkey(Customer)

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

您可以从客户到政策向后关注外键。然后使用双下划线来过滤销售员。

salesman = Salesman.objects.get(name="Loman")
Customer.objects.filter(policy__salesman=salesman).distinct()

如果客户与该销售员有多个政策,则需要distinct()来防止重复。

有关详细信息,请参阅lookups that span relationships上的文档。