2015-05-18 3 views
8

У меня была песочница для песочницы для приложения django-oscar, развернутая на моем веб-сайте в example.com. Я хотел переместить это на example.com:8000 и запустить другой проект на url example.com. Я успешно выполнил вторую часть, и когда вы входите на example.com, вы можете увидеть новый проект django и запустить его, но дело в том, что первый проект django, который был изолированной песочниц django-oscar, не будет правильно реагировать.нет такого столбца: django_content_type.name

при входе example.com:8000, вы видите текущий журнал отладки:

no such column: django_content_type.name 
Request Method: GET 
Request URL: http://example.com:8000/fa/ 
Django Version: 1.7.8 
Exception Type: OperationalError 
Exception Value:  
no such column: django_content_type.name 
Exception Location: /usr/local/lib/python2.7/dist-packages/django/db/backends/sqlite3/base.py in execute, line 485 
Python Executable: /usr/bin/python 
Python Version: 2.7.3 
Python Path:  
['/var/www/setak/setakenv/setakmain/django-oscar/sites/sandbox', 
'/usr/lib/python2.7', 
'/usr/lib/python2.7/plat-linux2', 
'/usr/lib/python2.7/lib-tk', 
'/usr/lib/python2.7/lib-old', 
'/usr/lib/python2.7/lib-dynload', 
'/usr/local/lib/python2.7/dist-packages', 
'/usr/lib/python2.7/dist-packages', 
'/usr/lib/python2.7/dist-packages/PIL', 
'/usr/lib/python2.7/dist-packages/gst-0.10', 
'/usr/lib/python2.7/dist-packages/gtk-2.0', 
'/usr/lib/python2.7/dist-packages/ubuntu-sso-client', 
'/usr/lib/python2.7/dist-packages/ubuntuone-client', 
'/usr/lib/python2.7/dist-packages/ubuntuone-control-panel', 
'/usr/lib/python2.7/dist-packages/ubuntuone-couch', 
'/usr/lib/python2.7/dist-packages/ubuntuone-installer', 
'/usr/lib/python2.7/dist-packages/ubuntuone-storage-protocol'] 

теперь я гугле эту ошибку, и я не получил каких-либо ценных результатов.

Кроме того, когда я бегу

sudo python manage.py migrate 

происходит следующее, что я также не нашел правильное решение, чтобы исправить:

Operations to perform: 
    Synchronize unmigrated apps: reports_dashboard, treebeard, oscar, communications_dashboard, reviews_dashboard, debug_toolbar, widget_tweaks, offers_dashboard, catalogue_dashboard, sitemaps, compressor, django_extensions, dashboard, thumbnail, haystack, ranges_dashboard, checkout, gateway, django_tables2 
    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... 
    Installing custom SQL... 
    Installing indexes... 
Running migrations: 
    No migrations to apply. 
Traceback (most recent call last): 
    File "manage.py", line 10, in <module> 
    execute_from_command_line(sys.argv) 
    File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 385, in execute_from_command_line 
    utility.execute() 
    File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 377, in execute 
    self.fetch_command(subcommand).run_from_argv(self.argv) 
    File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 288, in run_from_argv 
    self.execute(*args, **options.__dict__) 
    File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 338, in execute 
    output = self.handle(*args, **options) 
    File "/usr/local/lib/python2.7/dist-packages/django/core/management/commands/migrate.py", line 165, in handle 
    emit_post_migrate_signal(created_models, self.verbosity, self.interactive, connection.alias) 
    File "/usr/local/lib/python2.7/dist-packages/django/core/management/sql.py", line 268, in emit_post_migrate_signal 
    using=db) 
    File "/usr/local/lib/python2.7/dist-packages/django/dispatch/dispatcher.py", line 198, in send 
    response = receiver(signal=self, sender=sender, **named) 
    File "/usr/local/lib/python2.7/dist-packages/django/contrib/auth/management/__init__.py", line 83, in create_permissions 
    ctype = ContentType.objects.db_manager(using).get_for_model(klass) 
    File "/usr/local/lib/python2.7/dist-packages/django/contrib/contenttypes/models.py", line 58, in get_for_model 
    " is migrated before trying to migrate apps individually." 
RuntimeError: Error creating new content types. Please make sure contenttypes is migrated before trying to migrate apps individually. 

обновления 1: Я также использую Django 1.7.8 для этого.

обновление 2: я изменил мою версию Django на 1.8.1, команды makemigrations и migrate работали. Тогда я снова запустил сервер, и теперь я получаю эту ошибку в моем журнале: (Я также удалил Апач настройки, так как они не имеют значения!)

Traceback (most recent call last): 
    File "/usr/lib/python2.7/wsgiref/handlers.py", line 85, in run 
    self.result = application(self.environ, self.start_response) 
    File "/usr/local/lib/python2.7/dist-packages/django/contrib/staticfiles/handlers.py", line 63, in __call__ 
    return self.application(environ, start_response) 
    File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/wsgi.py", line 170, in __call__ 
    self.load_middleware() 
    File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py", line 50, in load_middleware 
    mw_class = import_string(middleware_path) 
    File "/usr/local/lib/python2.7/dist-packages/django/utils/module_loading.py", line 26, in import_string 
    module = import_module(module_path) 
    File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module 
    __import__(name) 
ImportError: No module named transaction 
+0

Пробовали ли вы, что Джанго предлагает, и мигрировать ContentTypes первый? –

+0

@ ger.s.brett да я сделал. такая же ошибка происходит! –

+0

Вы начали с django 1.8, а позже понизились до django 1.7.8? – karthikr

ответ

15

Я мог бы, наконец, решить мою проблему. Проблема заключалась в том, что я использовал django 1.8 для запуска manage.py migrate, и проект был разработан под django 1.7.1, поэтому миграция сломала ситуацию.

Так что я сделал то, что я снова установил django 1.8.1, запустил manage.py migrate contenttypes 0001, затем удалил django 1.8.1, установил django 1.7.8 и запустил manage.py runserver, и все вернулось к норме и отлично работало.

+1

Этот ответ помог мне найти решение, хотя я не мог его выполнить, потому что я не смог запустить команду manage.py, не увидев эту ошибку (приложение, от которого все зависело, пыталось получить доступ к типу контента при его инициализации, даже если база данных не определена). Вместо этого я создал отдельный файл настроек «initial.py», который имел только приложения django, определенные в INSTALLED_APPS. Сначала мне удалось выполнить миграцию с использованием этого модуля настроек, а затем переключиться на мой обычный модуль настроек, чтобы выполнить все мои специфические для проекта миграции. – Brett

+0

Это исключение возникает для ошибок, связанных с операциями MySQL. Например: слишком много соединений; имя хоста не может быть разрешено; плохое рукопожатие; сервер отключается, ошибки связи. –

0

У меня была та же проблема. В моем случае я использовал Django 1.10 для создания моей локальной базы данных, но мне нужно использовать старую версию Django (1.7) для выполнения некоторых тестов, поэтому я удалил свою локальную базу данных и запустил manage.py migrate с Django 1.7, после чего ошибка исчезла.

В качестве альтернативы, вместо того, чтобы удалить локальную базу данных, база данных может быть сохранена и переехал обратно в проект, когда он нужен, когда проект запуска с Django 1.10

Смежные вопросы