我的模型中有一个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
因此,当我想延长合同时,我将一个人的名字和字段合同显示给我数据库中的所有合同。我需要的是,当我找到一个人时,现场合同只向我显示该人的合同。
有什么建议吗?
答案 0 :(得分:0)
要只访问一个人的合同,您可以:
在视图中执行以下操作:
person = Person.objects.get(...)
contracts = person.contract_set.all()
或者,在模板中执行:
{% for contract in person.contract_set.all %}
{{ contract }}<br/>
{% endfor %}