以 Django 形式显示相关模型信息

Show related model info in Django form

比如说,我有两个模型:

class Person:
    name = models.CharField(max_length=20)
    address = models.CharField(max_length=20)

class PhoneNumber:
    person = models.ForeignKey(Person)
    number = models.CharField(max_length=20)

因此,当用户要修改 PhoneNumber 时,我想在表单中显示此人的地址。我正在通过表单集进行编辑,因此将信息直接传递给模板有点棘手,我怎么知道哪个地址属于哪个表单?或者我怎么能做到这一点?这应该显示在与 ModelChoiceField 不同的地方,因为我希望它被隐藏。

在您的模板中可以循环访问表单集中的表单。参见 https://docs.djangoproject.com/en/1.7/topics/forms/formsets/#using-a-formset-in-views-and-templates

所以我会制作一个包含 PhoneNumber 模型的 FormSet。在遍历表单时,使用 form.instance.person.address.