【发布时间】:2018-04-07 11:26:39
【问题描述】:
我刚刚从本地部署了一些代码到生产服务器上。我已经使用 django 应用程序建立了一个 postgres 数据库。问题是当我运行时:
$ python3 /usr/Apps/manage.py makemigrations
我收到以下错误
##################################################
Traceback (most recent call last):
File "/home/ubuntu/.local/lib/python3.5/site-packages/django/db/backends/utils.py", line 85, in _execute
return self.cursor.execute(sql, params)
psycopg2.ProgrammingError: relation "api_neli_report" does not exist
LINE 1: ...ort"."price", "api_neli_report"."prediction" FROM "api_neli_
api_neli_report 是我设置的尚未迁移的模型,因为我无法在没有错误的情况下迁移它。
知道如何解决这个问题吗?
另见型号:
from django.db import models
# Create your models here.
class SSALi_Report(models.Model):
date = models.DateField()
ticker = models.CharField(max_length=10,default='NA')
market = models.CharField(max_length=250,default='NA')
price = models.FloatField()
prediction = models.FloatField()
def __str__(self):
return str(self.date) + " - " + str(self.ticker)
class NELi_Report(models.Model):
date = models.DateField()
ticker = models.CharField(max_length=10,default='NA')
market = models.CharField(max_length=250,default='NA')
price = models.FloatField()
prediction = models.FloatField()
请注意该模型正在我的本地工作
另见我的资源模型:
# Logic/resources.py
from tastypie.resources import ModelResource
from api.models import SSALi_Report
from api.models import NELi_Report
from tastypie.authorization import Authorization
class SSALi_Resource(ModelResource):
class Meta:
queryset = SSALi_Report.objects.all()
print("#"*50)
print(queryset)
resource_name = 'SSALi_Report'
authorization = Authorization()
class NELi_Resource(ModelResource):
class Meta:
queryset = NELi_Report.objects.all()
print("#"*50)
print(queryset)
resource_name = 'NELi_Report'
我本地的表
Schema | Name | Type | Owner
--------+----------------------------+-------+----------
public | api_neli_report | table | postgres
【问题讨论】:
-
您使用的是哪个版本的 PostgreSQL、Djnago 和 Psycopg2?
-
Django==2.0.4 PostgreSQL 9.6.6 Python =3.5 psycopg2==2.7.4 psycopg2-binary==2.7.4
-
你也可以发布模型吗?谢谢
-
查看更新后的帖子
-
另外,请注意,您通常不应在生产环境中运行
makemigrations。通常的方法是在开发中进行一次迁移,将迁移提交到您的存储库,然后在生产中运行migrate。
标签: python django postgresql