【发布时间】:2015-03-31 13:59:41
【问题描述】:
我会开始为我糟糕的英语道歉,这不是我的母语。反正... 我是 Python/Django 的初学者,我正在尝试做一个表单应用程序,但我无法正确使用 ForeignKeys。例如:我有一张名为 Station 的桌子和另一张名为 Person 的桌子。在 Person Table 中,我得到了一个引用 Station 表的 Station 字段。我的表单工作正常,但信息显示却不行。当我打开 ModelChoiceField 时,它不会显示 Station 的名称或 id,而是在每个对象中显示给我:.有没有办法(可能)定义哪个字段将出现在我的表单上?这些是我的文件:
模型.PY:
class Person(models.Model):
first_name = models.CharField(max_length=50)
last_name = models.CharField(max_length=50)
station = models.ForeignKey("Station")
def __unicode__(self):
return "{0} {1}".format(self.first_name, self.last_name)
class Station(models.Model):
station_name = models.CharField(max_length=50)
def __unicode(self):
return str(self.station_name)
FORMS.PY:
class FormPerson(forms.ModelForm):
class Meta:
model = Person
VIEWS.PY:
def addperson(request):
if request.method == "POST":
form = FormPerson(request.POST, request.FILES)
if form.is_valid():
form.save()
return render_to_response("salvo.html",{})
else:
form = FormPerson()
return render_to_response("adiciona.html", {'form': form},
context_instance=RequestContext(request))
ADICIONA.HTML:
<form action="" method="post">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">Adicionar</button>
</form>
【问题讨论】:
-
__unicodein Station 应该是__unicode__如果我理解正确的话。 -
天啊*,就这么简单。成功了,谢谢!
标签: python django foreign-keys modelform