我正在用django做一个APP,当我在heroku PaaS上部署它时我遇到了问题。
问题是当我启动应用时,我在网址中看到以下错误:relation "calculadora_universidad" does not exist
LINE 1: ...ad"."id", "calculadora_universidad"."nombre" FROM "calculado...
正好在html模板中尝试访问Universidad时:
<form method="POST" action="">{% csrf_token %}
<h2>Utiliza la calculadora</h2>
<!-- Calculadora -->
<p><label for="basic-url">1. A que universidad y a que carrera quieres acceder?</label></p>
<form>
<select value ="Universidades" name="selectuniversidades" id="selectuniversidades" type="button" class="btn btn-default dropdown-toggle">
{% for e in universidades %}
<option value="{{e.id}}">{{ e.nombre }}</option>
<li role="separator" class="divider"></li>
{% endfor %}
</select><br><br>
</form>
这是因为没有创建模型的表格,但是我遵循了heroku中心解释的所有步骤,并且我尝试的最后一步是将postgres credenteials放在我的设置中并尝试迁移但是我看到了同样的问题。
当我按照以下步骤构建应用程序时:heroku链接和我运行命令:
heroku run python manage.py migrate
(因为syncdb现在不起作用)我没有看到表格的创建,我在本地部署中看到了什么。
我不知道为什么通过这个,有人知道吗?
如果有用,这是我的模型:
class Universidad(models.Model):
nombre = models.CharField(max_length=50)
def __unicode__(self):
return "%s" % (self.nombre)
class Carrera(models.Model):
universidad = models.ForeignKey(Universidad)
nombre = models.CharField(max_length=50)
notaCorte = models.DecimalField(decimal_places=3,max_digits=5)
def __unicode__(self):
return "%s %s %f" % (self.universidad, self.nombre, self.notaCorte)
和我的观点:
def calculadora(request):
universidades = Universidad.objects.all()
carreras = Carrera.objects.all()
form = InteresadosForm(request.POST or None)
if form.is_valid():
print form.cleaned_data
email = form_data.get("email")
obj = PersonasInteresadas(email=email)
print universidades
print carreras
#if universidades.is_valid():
# print universidades.cleaned_data
contexto = {"universidades":universidades,
"carreras":carreras,
"form":form
}
return render(request,"index.html", contexto)