设置postgres db后的ProgrammingError

时间:2017-01-05 17:45:37

标签: django django-models django-admin

我在尝试在管理页面中保存实例时遇到此错误, 每次我点击保存按钮,我都会收到此错误,也有些视图返回相同的错误

Environment:


Request Method: POST
Request URL: http://localhost:8000/admin/report_testing/reporttested/add/

Django Version: 1.10.4
Python Version: 2.7.12
Installed Applications:
['django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'report_testing',
 'bootstrap3']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware']



Traceback:

File "/home/fatah/PycharmProjects/API_test/env/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
  39.             response = get_response(request)

File "/home/fatah/PycharmProjects/API_test/env/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
  187.                 response = self.process_exception_by_middleware(e, request)

File "/home/fatah/PycharmProjects/API_test/env/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
  185.                 response = wrapped_callback(request, *callback_args, **callback_kwargs)

File "/home/fatah/PycharmProjects/API_test/env/local/lib/python2.7/site-packages/django/contrib/admin/options.py" in wrapper
  544.                 return self.admin_site.admin_view(view)(*args, **kwargs)

File "/home/fatah/PycharmProjects/API_test/env/local/lib/python2.7/site-packages/django/utils/decorators.py" in _wrapped_view
  149.                     response = view_func(request, *args, **kwargs)

File "/home/fatah/PycharmProjects/API_test/env/local/lib/python2.7/site-packages/django/views/decorators/cache.py" in _wrapped_view_func
  57.         response = view_func(request, *args, **kwargs)

File "/home/fatah/PycharmProjects/API_test/env/local/lib/python2.7/site-packages/django/contrib/admin/sites.py" in inner
  211.             return view(request, *args, **kwargs)

File "/home/fatah/PycharmProjects/API_test/env/local/lib/python2.7/site-packages/django/contrib/admin/options.py" in add_view
  1509.         return self.changeform_view(request, None, form_url, extra_context)

File "/home/fatah/PycharmProjects/API_test/env/local/lib/python2.7/site-packages/django/utils/decorators.py" in _wrapper
  67.             return bound_func(*args, **kwargs)

File "/home/fatah/PycharmProjects/API_test/env/local/lib/python2.7/site-packages/django/utils/decorators.py" in _wrapped_view



149.                     response = view_func(request, *args, **kwargs)

File "/home/fatah/PycharmProjects/API_test/env/local/lib/python2.7/site-packages/django/utils/decorators.py" in bound_func
  63.                 return func.__get__(self, type(self))(*args2, **kwargs2)

File "/home/fatah/PycharmProjects/API_test/env/local/lib/python2.7/site-packages/django/utils/decorators.py" in inner
  185.                     return func(*args, **kwargs)

File "/home/fatah/PycharmProjects/API_test/env/local/lib/python2.7/site-packages/django/contrib/admin/options.py" in changeform_view
  1449.                 self.save_model(request, new_object, form, not add)

File "/home/fatah/PycharmProjects/API_test/env/local/lib/python2.7/site-packages/django/contrib/admin/options.py" in save_model
  1007.         obj.save()
File "/home/fatah/PycharmProjects/API_test/env/local/lib/python2.7/site-packages/django/db/models/base.py" in save
  796.                        force_update=force_update, update_fields=update_fields)

File "/home/fatah/PycharmProjects/API_test/env/local/lib/python2.7/site-packages/django/db/models/base.py" in save_base



824.             updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)

File "/home/fatah/PycharmProjects/API_test/env/local/lib/python2.7/site-packages/django/db/models/base.py" in _save_table
  908.             result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)

File "/home/fatah/PycharmProjects/API_test/env/local/lib/python2.7/site-packages/django/db/models/base.py" in _do_insert
  947.                                using=using, raw=raw)

File "/home/fatah/PycharmProjects/API_test/env/local/lib/python2.7/site-packages/django/db/models/manager.py" in manager_method
  85.                 return getattr(self.get_queryset(), name)(*args, **kwargs)

File "/home/fatah/PycharmProjects/API_test/env/local/lib/python2.7/site-packages/django/db/models/query.py" in _insert
  1045.         return query.get_compiler(using=using).execute_sql(return_id)

File "/home/fatah/PycharmProjects/API_test/env/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py" in execute_sql
  1054.                 cursor.execute(sql, params)

    File "/home/fatah/PycharmProjects/API_test/env/local/lib/python2.7/site-packages/django/db/backends/utils.py" in execute
      79.             return super(CursorDebugWrapper, self).execute(sql, params)

    File "/home/fatah/PycharmProjects/API_test/env/local/lib/python2.7/site-packages/django/db/backends/utils.py" in execute
      64.                 return self.cursor.execute(sql

, params)

    File "/home/fatah/PycharmProjects/API_test/env/local/lib/python2.7/site-packages/django/db/utils.py" in __exit__
      94.                 six.reraise(dj_exc_type, dj_exc_value, traceback)

    File "/home/fatah/PycharmProjects/API_test/env/local/lib/python2.7/site-packages/django/db/backends/utils.py" in execute
      64.                 return self.cursor.execute(sql, params)

    Exception Type: ProgrammingError at /admin/report_testing/reporttested/add/
    Exception Value: column "test_user_id" of relation "report_testing_reporttested" does not exist
LINE 1: ..._testing_reporttested" ("title", "tested", "pdf", "test_user...
                                                             ^

我试过了

(env) M51AC ~/PycharmProjects/API_test $ ./manage.py makemigrations report_testing
No changes detected in app 'report_testing'
(env) M51AC ~/PycharmProjects/API_test $ ./manage.py migrate
Operations to perform:
  Apply all migrations: admin, auth, contenttypes, report_testing, sessions
Running migrations:
  No migrations to apply.
(env) M51AC ~/PycharmProjects/API_test $ ./manage.py migrate --run-syncdb
Operations to perform:
  Synchronize unmigrated apps: bootstrap3, messages, staticfiles
  Apply all migrations: admin, auth, contenttypes, report_testing, sessions
Synchronizing apps without migrations:
  Creating tables...
    Running deferred SQL...
Running migrations:
  No migrations to apply.

./ manage.py showmigrations

admin


[X] 0001_initial
 [X] 0002_logentry_remove_auto_add
auth
 [X] 0001_initial
 [X] 0002_alter_permission_name_max_length
 [X] 0003_alter_user_email_max_length
 [X] 0004_alter_user_username_opts
 [X] 0005_alter_user_last_login_null
 [X] 0006_require_contenttypes_0002
 [X] 0007_alter_validators_add_error_messages
 [X] 0008_alter_user_username_max_length
contenttypes
 [X] 0001_initial
 [X] 0002_remove_content_type_name
report_testing
 [X] 0001_initial
sessions
 [X] 0001_initial

model.py

class ReportTested(models.Model):
      title = models.CharField(max_length=500, blank=True, unique=True)
      tested = models.BooleanField(default=False, blank=True)
      pdf = models.FilePathField(path= settings.PDF_DIRECTORY, blank=True)
      test_user = models.ForeignKey(User, related_name='reportstested', null=True, blank=True)

0001_initial.py

class Migration(migrations.Migration):
      initial = True
      dependencies = [
          migrations.swappable_dependency(settings.AUTH_USER_MODEL), 
]
      operation = [
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('title', models.CharField(blank=True, max_length=500, unique=True)),
                ('tested', models.BooleanField(default=False)),
                ('pdf', models.FilePathField(blank=True, path=b'/home/PycharmProjects/API_test/report_testing/static/media/pdfs')),
                ('test_user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='reportstested', to=settings.AUTH_USER_MODEL))   

      options={
                'verbose_name_plural': 'PDFS Tested',
            },
        ),
],

在设置postgres db之前,使用sqlite一切正常。 我做错了什么,我该如何解决?

0 个答案:

没有答案