2

私は OSCAR チュートリアル ( http://django-oscar.readthedocs.org/en/latest/internals/getting_started.html ) に従っており、Haystack を Solr で動作させようとしています。postgres をセットアップしました。私はCloud9で実行しています。「$ python manage.py syncdb --noinput」を実行しようとしましたが、移行を実行すると強制終了されます...

/home/ubuntu/workspace/oscar/local/lib/python2.7/site-packages/haystack/utils/__init__.py:12: RemovedInDjango19Warning: django.utils.importlib will be removed in Django 1.9.
  from django.utils import importlib

/home/ubuntu/workspace/oscar/local/lib/python2.7/site-packages/oscar/apps/catalogue/abstract_models.py:20: RemovedInDjango19Warning: django.contrib.contenttypes.generic is deprecated and will be removed in Django 1.9. Its contents have been moved to the fields, forms, and admin submodules of django.contrib.contenttypes.
  from django.contrib.contenttypes.generic import GenericForeignKey

/home/ubuntu/workspace/oscar/local/lib/python2.7/site-packages/django/core/management/commands/syncdb.py:24: RemovedInDjango19Warning: The syncdb command will be removed in Django 1.9
  warnings.warn("The syncdb command will be removed in Django 1.9", RemovedInDjango19Warning)

Operations to perform:
  Synchronize unmigrated apps: reports_dashboard, offers_dashboard, treebeard, communications_dashboard, reviews_dashboard, pages_dashboard, shipping_dashboard, haystack, promotions_dashboard, checkout, thumbnail, vouchers_dashboard, django_tables2, partners_dashboard, staticfiles, oscar, compressor, catalogue_dashboard, users_dashboard, search, messages, widget_tweaks, dashboard, ranges_dashboard, orders_dashboard
  Apply all migrations: customer, promotions, shipping, wishlists, offer, admin, sessions, contenttypes, auth, payment, reviews, analytics, catalogue, flatpages, sites, address, basket, partner, order, voucher
Synchronizing apps without migrations:
  Creating tables...
    Creating table thumbnail_kvstore
    Running deferred SQL...
  Installing custom SQL...
Running migrations:
  Rendering model states...Killed

--noinput なしでこれを実行しようとしました

/home/ubuntu/workspace/oscar/local/lib/python2.7/site-packages/haystack/utils/__init__.py:12: RemovedInDjango19Warning: django.utils.importlib will be removed in Django 1.9.
  from django.utils import importlib

/home/ubuntu/workspace/oscar/local/lib/python2.7/site-packages/oscar/apps/catalogue/abstract_models.py:20: RemovedInDjango19Warning: django.contrib.contenttypes.generic is deprecated and will be removed in Django 1.9. Its contents have been moved to the fields, forms, and admin submodules of django.contrib.contenttypes.
  from django.contrib.contenttypes.generic import GenericForeignKey

Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/home/ubuntu/workspace/oscar/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 338, in execute_from_command_line
    utility.execute()
  File "/home/ubuntu/workspace/oscar/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 330, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/ubuntu/workspace/oscar/local/lib/python2.7/site-packages/django/core/management/base.py", line 393, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/home/ubuntu/workspace/oscar/local/lib/python2.7/site-packages/django/core/management/base.py", line 444, in execute
    output = self.handle(*args, **options)
  File "/home/ubuntu/workspace/oscar/local/lib/python2.7/site-packages/django/core/management/commands/migrate.py", line 93, in handle
    executor = MigrationExecutor(connection, self.migration_progress_callback)
  File "/home/ubuntu/workspace/oscar/local/lib/python2.7/site-packages/django/db/migrations/executor.py", line 19, in __init__
    self.loader = MigrationLoader(self.connection)
  File "/home/ubuntu/workspace/oscar/local/lib/python2.7/site-packages/django/db/migrations/loader.py", line 47, in __init__
    self.build_graph()
  File "/home/ubuntu/workspace/oscar/local/lib/python2.7/site-packages/django/db/migrations/loader.py", line 182, in build_graph
    self.applied_migrations = recorder.applied_migrations()
  File "/home/ubuntu/workspace/oscar/local/lib/python2.7/site-packages/django/db/migrations/recorder.py", line 59, in applied_migrations
    self.ensure_schema()
  File "/home/ubuntu/workspace/oscar/local/lib/python2.7/site-packages/django/db/migrations/recorder.py", line 49, in ensure_schema
    if self.Migration._meta.db_table in self.connection.introspection.table_names(self.connection.cursor()):
  File "/home/ubuntu/workspace/oscar/local/lib/python2.7/site-packages/django/db/backends/base/base.py", line 162, in cursor
    cursor = self.make_debug_cursor(self._cursor())
  File "/home/ubuntu/workspace/oscar/local/lib/python2.7/site-packages/django/db/backends/base/base.py", line 135, in _cursor
    self.ensure_connection()
  File "/home/ubuntu/workspace/oscar/local/lib/python2.7/site-packages/django/db/backends/base/base.py", line 130, in ensure_connection
    self.connect()
  File "/home/ubuntu/workspace/oscar/local/lib/python2.7/site-packages/django/db/utils.py", line 97, in __exit__
    six.reraise(dj_exc_type, dj_exc_value, traceback)
  File "/home/ubuntu/workspace/oscar/local/lib/python2.7/site-packages/django/db/backends/base/base.py", line 130, in ensure_connection
    self.connect()
  File "/home/ubuntu/workspace/oscar/local/lib/python2.7/site-packages/django/db/backends/base/base.py", line 119, in connect
    self.connection = self.get_new_connection(conn_params)
  File "/home/ubuntu/workspace/oscar/local/lib/python2.7/site-packages/django/db/backends/postgresql_psycopg2/base.py", line 176, in get_new_connection
    connection = Database.connect(**conn_params)
  File "/home/ubuntu/workspace/oscar/local/lib/python2.7/site-packages/psycopg2/__init__.py", line 164, in connect
    conn = _connect(dsn, connection_factory=connection_factory, async=async)
django.db.utils.OperationalError: FATAL:  database "oscar_vagrant" does not exist

サーバーを実行しようとすると、DBが同期されていないと表示されます...ページを読み込もうとすると、これが表示されます...

ProgrammingError at /
relation "promotions_pagepromotion" does not exist
LINE 1: ..."."app_label", "django_content_type"."model" FROM "promotion...
                                                             ^
Request Method: GET
Request URL:    https://love-benbuehne.c9.io/
Django Version: 1.8.3
Exception Type: ProgrammingError
Exception Value:    
relation "promotions_pagepromotion" does not exist
LINE 1: ..."."app_label", "django_content_type"."model" FROM "promotion...
                                                             ^
Exception Location: /home/ubuntu/workspace/oscar/local/lib/python2.7/site-packages/django/db/backends/utils.py in execute, line 64
Python Executable:  /home/ubuntu/workspace/oscar/bin/python
Python Version: 2.7.6
Python Path:    
['/home/ubuntu/workspace',
 '/home/ubuntu/workspace',
 '/home/ubuntu/lib/python/site-packages',
 '/home/ubuntu/workspace/oscar/lib/python2.7',
 '/home/ubuntu/workspace/oscar/lib/python2.7/plat-x86_64-linux-gnu',
 '/home/ubuntu/workspace/oscar/lib/python2.7/lib-tk',
 '/home/ubuntu/workspace/oscar/lib/python2.7/lib-old',
 '/home/ubuntu/workspace/oscar/lib/python2.7/lib-dynload',
 '/usr/lib/python2.7',
 '/usr/lib/python2.7/plat-x86_64-linux-gnu',
 '/usr/lib/python2.7/lib-tk',
 '/home/ubuntu/workspace/oscar/local/lib/python2.7/site-packages']
Server time:    Fri, 10 Jul 2015 22:54:01 +0000

これが何を意味するのか、私はちょっと困惑しています。データベースの同期に問題があるようです...そして、私を超えた何らかのエラーがあるようです。ここにコピーできるどのファイルが役立つかさえわかりません。Django が postgres にアクセスしていることがわかります...そして、何らかの奇妙な理由で同期していません。

4

2 に答える 2

2

データベースを削除し、移行を削除してから、必要に応じて syncdb または makemigrations を実行します。これが役立つかもしれません。うまくいかない場合は、モデル ファイルを見せてください。

于 2015-07-10T23:43:13.267 に答える
0

それは主に、オスカーであなたが追加したと思うからです

INSTALLED_APPS = [] + get_core_apps(['app.promotions'])

アプリケーションはどこappにありますか。オスカーのホームページがプロモーションに書かれているように。プラットフォームのモデルは含まれていません。コンポーネントを必要なもの以外にインポートすることで解決でき__init__.pyます。

app/promotions/__init__.py含まれている必要がありますfrom oscar.apps.promotions import *

于 2015-09-23T13:29:51.920 に答える