Django:验证器功能

时间:2014-12-17 12:00:40

标签: django

我的模型中有一个Contract类。合同可以与一个人或另一个合同相关,这是前一个合同的延长合同。到目前为止一切都很好。

class Contract(models.Model):
    person = models.ForeignKey(Person) #person hired
    contract = models.OneToOneField('self', blank = True, null = True) #allows to extend a contract
    project = models.ForeignKey(Project, blank = True, null = True) #related project

因此,当我想延长合同时,我将一个人的名字和字段合同显示给我数据库中的所有合同。我需要的是,当我找到一个人时,现场合同只向我显示该人的合同。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

要只访问一个人的合同,您可以:

在视图中执行以下操作:

person = Person.objects.get(...)
contracts = person.contract_set.all()

或者,在模板中执行:

{% for contract in person.contract_set.all %}
    {{ contract }}<br/>
{% endfor %}