Python 编程错误列不存在
models.pyPython 编程错误列不存在,python,django,postgresql,object,models,Python,Django,Postgresql,Object,Models,models.py class PlansToLodge(models.Model): sm_sequence = models.IntegerField() sm_year = models.IntegerField() location = models.TextField(blank=True, null=True) car_number = models.CharField(max_length=100, blank=True, null=True) client_or_owne
class PlansToLodge(models.Model):
sm_sequence = models.IntegerField()
sm_year = models.IntegerField()
location = models.TextField(blank=True, null=True)
car_number = models.CharField(max_length=100, blank=True, null=True)
client_or_owner = models.TextField(blank=True, null=True)
date_received = models.DateField(blank=True, null=True)
date_lodged = models.DateField(blank=True, null=True)
remarks = models.TextField(blank=True, null=True)
sent_or_received = models.TextField(blank=True, null=True)
receipt_number = models.TextField(blank=True, null=True)
class Meta:
managed = False
db_table = 'plans_to_lodge'
unique_together = (('sm_sequence', 'sm_year'),)
view.py
def searchPlanInfo(request):
logger = logging.getLogger(__name__)
if request.user.is_authenticated():
if request.method =='POST':
if request.POST['smYear'] is not '':
searchPlan = request.POST['smYear']
logger.error('lets see here')
foundPlan = PlansToLodge.objects.filter(sm_year=searchPlan)
logger.error(foundPlan[0])
context = {'parcel_list': foundPlan}
return render(request,'parcelmanager/index2.html',context)
return HttpResponse("once again")
回溯
回溯:
File "C:\Users\yfevrier\Envs\landregtry1\lib\site-packages\django\core\handlers\base.py" in get_response
132. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "C:\Sites\Landregistry\surveyplanmanager\views.py" in searchPlanInfo
39. logger.error(foundPlan[0])
File "C:\Users\yfevrier\Envs\landregtry1\lib\site-packages\django\db\models\query.py" in __getitem__
201. return list(qs)[0]
File "C:\Users\yfevrier\Envs\landregtry1\lib\site-packages\django\db\models\query.py" in __iter__
162. self._fetch_all()
File "C:\Users\yfevrier\Envs\landregtry1\lib\site-packages\django\db\models\query.py" in _fetch_all
965. self._result_cache = list(self.iterator())
File "C:\Users\yfevrier\Envs\landregtry1\lib\site-packages\django\db\models\query.py" in iterator
238. results = compiler.execute_sql()
File "C:\Users\yfevrier\Envs\landregtry1\lib\site-packages\django\db\models\sql\compiler.py" in execute_sql
829. cursor.execute(sql, params)
File "C:\Users\yfevrier\Envs\landregtry1\lib\site-packages\django\db\backends\utils.py" in execute
79. return super(CursorDebugWrapper, self).execute(sql, params)
File "C:\Users\yfevrier\Envs\landregtry1\lib\site-packages\django\db\backends\utils.py" in execute
64. return self.cursor.execute(sql, params)
File "C:\Users\yfevrier\Envs\landregtry1\lib\site-packages\django\db\utils.py" in __exit__
97. six.reraise(dj_exc_type, dj_exc_value, traceback)
File "C:\Users\yfevrier\Envs\landregtry1\lib\site-packages\django\utils\six.py" in reraise
658. raise value.with_traceback(tb)
File "C:\Users\yfevrier\Envs\landregtry1\lib\site-packages\django\db\backends\utils.py" in execute
64. return self.cursor.execute(sql, params)
Exception Type: ProgrammingError at /surveyplanmanager/searchPlanInfo/
Exception Value: column plans_to_lodge.id does not exist
LINE 1: SELECT "plans_to_lodge"."id", "plans_to_lodge"."sm_sequence"...
^
现在,在我使用sqlite之前,但我们进入了我们将使用Postgresql的数据库,我知道在sqlite中,它生成了这些“id”字段,但我不知道为什么它对Postgresql这样做,我已经迁移了,所以不应该发生这种情况实际上发生这个错误是因为您的数据库没有迁移 所以运行以下命令来迁移数据库
python manage.py migrate
如果未运行此命令,则运行以下命令
python manage.py makemigrations
python manage.py migrate
实际上,发生此错误是因为您的数据库未迁移 所以运行以下命令来迁移数据库
python manage.py migrate
如果未运行此命令,则运行以下命令
python manage.py makemigrations
python manage.py migrate
我做到了,它告诉我的是没有发现任何变化。当我执行python manage.py showmigation时。我的所有应用都有其初始迁移。可能发生的情况是,我从另一个数据库导入了一个表,但无法迁移到该表。它告诉我它已经存在,所以我伪造了它。因为它有我测试所需的数据,所以我没有管理表!将它改回True,迁移过程顺利,但仍然显示出相同的错误,所以我现在尝试做的是sqlmigrate,它没有显示任何内容,但我可以sqlmigrate初始迁移我完成了迁移,我认为所有内容都是同步的。我要做的是做一个inspectdb,然后从文件夹中删除我的原始迁移,然后进行迁移(它进行了迁移),但它仍然显示相同的错误您是对的我尝试了另一个表,但没有发现问题,但该表在我迁移之前存在,因为其中包含我想用于测试的信息,它告诉我的只是没有发现任何变化。当我执行python manage.py showmigation时。我的所有应用都有其初始迁移。可能发生的情况是,我从另一个数据库导入了一个表,但无法迁移到该表。它告诉我它已经存在,所以我伪造了它。因为它有我测试所需的数据,所以我没有管理表!将它改回True,迁移过程顺利,但仍然显示出相同的错误,所以我现在尝试做的是sqlmigrate,它没有显示任何内容,但我可以sqlmigrate初始迁移我完成了迁移,我认为所有内容都是同步的。我要做的是做一个inspectdb,然后从文件夹中删除我的原始迁移,然后进行迁移(它进行了迁移),但它仍然显示相同的错误您是对的我尝试了另一个表,但没有发现问题,但该表在我迁移之前存在,因为其中包含我想用于测试的信息