我正在为我正在开发的库存/工作单应用程序定义一些模型,而且我遇到了一个棘手的问题。
以下是我目前遇到一些困难的一些模型。
#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)
我希望工作单仅与角色设置为“机械师”的职员相关联。有没有办法根据我在这里的模型在模型规范中对此进行限制,或者在设置视图和表单时是否应该处理这个下游?
答案 0 :(得分:1)
将limit_choices_to
参数用于ForeignKey
:
mechanic = models.ForeignKey(Staff, limit_choices_to={'staff_role': 'M'})