模型与形式
class Book(models.Model):
author = models.ForeignKey(User)
name = models.CharField(max_length=50)
class BookForm(forms.ModelForm):
class Meta:
model = Book
widgets = {
'author': forms.HiddenInput(),
}
此图书表单不允许更改作者
模板
但我想显示他的名字
<form action="/books/edit" method="post">{% csrf_token %}
{{ form.author.label }}: {{ form.author.select_related.first_name }}
{{ form.as_p }}
</form>
题
当然
form.author.select_related.first_name
不起作用如何显示作者的名字?
最佳答案
这应该有效:
<form action="/books/edit" method="post">{% csrf_token %}
{{ form.author.label }}: {{ form.instance.author.first_name }}
{{ form.as_p }}
</form>
但是您不能使用此表单来创建书籍,只能用于更新,如果作者未在实例中设置,这将不起作用。
关于Django - 显示一个 ModelForm 外键字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10332514/