2014-01-29 125 views
0

我正在爲正在開發的庫存/工作單應用程序定義一些模型,而且我遇到了一個小問題。Django外鍵過濾器

以下是我目前遇到一些困難的一些模型。

#models.py 
from django.db import models 

class Staff(models.Model): 
    ROLE = (
     ('M', 'Mechanic'), 
     ('W', 'Warehouse'), 
    ) 
    first_name = models.CharField(max_length=25) 
    last_name = models.CharField(max_length=25) 
    staff_role = models.CharField(max_length=1, choices=ROLE) 

class WorkOrder(models.Model): 
    item_number = models.ForeignKey(Item) 
    date_started = models.DateField() 
    date_ended = models.DateField() 
    mechanic = models.ForeignKey(Staff) 

我想要的是一個工作單隻與一個職員的角色設置爲「機械」相關聯。有沒有辦法在基於我在這裏的模型的模型規範中限制這個,或者我應該在設置視圖和表單時處理這個問題?

回答

1

使用limit_choices_to參數ForeignKey

mechanic = models.ForeignKey(Staff, limit_choices_to={'staff_role': 'M'}) 
+0

完美。謝謝。 – scuerda