2016-12-26 12 views
-3

我想通過django中的外鍵ID進行過濾。 my model.py如何通過foriegn鍵的id過濾django

class CustomerLeads(models.Model): 
    customer_name = models.CharField(max_length=50,null=True, blank=True) 
    event = models.CharField(max_length=50,null=True, blank=True) 
    item_required = models.ForeignKey(ProductClass,null=True, blank=True) 
    title = models.CharField(max_length=100, null=True, blank=True) 

我想按item_required搜索。 我得到的ProductID類似於12,13,, 的id,因爲id是django中的默認值。

感謝

回答

3

可以過濾使用id如下:

CustomerLeads.objects.filter(item_required__pk=12) 

或者你可以取回後過濾使用ProductClass對象:

pc = ProductClass.objects.get(pk=12) 
CustomerLeads.objects.filter(item_required=pc) 
3

你有兩種方法可以做到這一點,這取決於你正在嘗試在做到底:

  1. 獲取所有CustomerLeads一組特定的ProductClass項目:

    CustomerLeads.objects.filter(item_required__pk__in=[12,13,14]) 
    
  2. 對於給定的ProductClass,獲取其全部CustomerLeads':

    p = ProductClass.objects.get(pk=12) 
    customer_leads = p.customerleads_set.all() 
    
+0

我使用firstt之一,但不加工。 –