2012-04-21 5 views
1

私はここの手順に従いましたhttps://developers.google.com/cloud-sql/docs/django、それはdjango 1.3.1でうまくいきました。今はDjango 1.4までで、面白いスタックトレースが得られます。ここにメッセージの関連部分を貼り付けます。Django 1.4の./manage.pyテストでは、Google AppengineにThing2Literalのインポートが見つかりません

Traceback (most recent call last): 
    File "manage.py", line 10, in <module> 
    execute_from_command_line(sys.argv) 
    File "/home/dumb906/woody/py/mdlr/django/core/management/__init__.py", line 443, in execute_from_command_line 
    utility.execute() 
    File "/home/dumb906/woody/py/mdlr/django/core/management/__init__.py", line 382, in execute 
    self.fetch_command(subcommand).run_from_argv(self.argv) 
    File "/home/dumb906/woody/py/mdlr/django/core/management/__init__.py", line 261, in fetch_command 
    klass = load_command_class(app_name, subcommand) 
    File "/home/dumb906/woody/py/mdlr/django/core/management/__init__.py", line 69, in load_command_class 
    module = import_module('%s.management.commands.%s' % (app_name, name)) 
    File "/home/dumb906/woody/py/mdlr/django/utils/importlib.py", line 35, in import_module 
    __import__(name) 
    File "/home/dumb906/woody/py/mdlr/django/core/management/commands/test.py", line 7, in <module> 
    from django.test.utils import get_runner 
    File "/home/dumb906/woody/py/mdlr/django/test/__init__.py", line 5, in <module> 
    from django.test.client import Client, RequestFactory 
    File "/home/dumb906/woody/py/mdlr/django/test/client.py", line 21, in <module> 
    from django.test import signals 
    File "/home/dumb906/woody/py/mdlr/django/test/signals.py", line 2, in <module> 
    from django.db import connections 
    File "/home/dumb906/woody/py/mdlr/django/db/__init__.py", line 40, in <module> 
    backend = load_backend(connection.settings_dict['ENGINE']) 
    File "/home/dumb906/woody/py/mdlr/django/db/__init__.py", line 34, in __getattr__ 
    return getattr(connections[DEFAULT_DB_ALIAS], item) 
    File "/home/dumb906/woody/py/mdlr/django/db/utils.py", line 92, in __getitem__ 
    backend = load_backend(db['ENGINE']) 
    File "/home/dumb906/woody/py/mdlr/django/db/utils.py", line 44, in load_backend 
    raise ImproperlyConfigured(error_msg) 
django.core.exceptions.ImproperlyConfigured: 'google.appengine.ext.django.backends.rdbms' isn't an available database backend. 
    Try using django.db.backends.XXX, where XXX is one of: 
     'dummy', 'mysql', 'oracle', 'postgresql_psycopg2', 'sqlite3' 
    Error was: cannot import name Thing2Literal 

助けが必要ですか?何人かはコンパイルする必要があると言ったhttp://django-irc-logs.com/2012/mar/27/

+1

あなたの質問にはpastebinsのような外部サイトを参照しないでください。データは予期せずに消えてしまう傾向があります。 –

+0

ありがとう@NickJohnson – dumb906

答えて

-2

あなたがリンクしたドキュメントでわかるように、Google App Engineはバージョン1.3までのDjango(実際には1.3.1)のみをサポートしています。

+0

ok。素晴らしい提案ですが、私は後で、このエラーを出すライブラリがMySqlDbではなくdjangoと関係していることを知ったので、それが実際の解決策ではないと思います。ありがとうございます。 – dumb906

3

私は同じ問題がありました。問題は、adapt_datetime_with_timezone_support関数で使用されるThing2Literalをdjango/db/backends/mysql/base.pyからインポートして、次のようになります。 https://code.djangoproject.com/changeset/17596/django/trunk/django/db/backends/mysql/base.pyこれは、モデルレイヤーをバイパスし、raw SQLで使用されるdatetimeオブジェクトにとって重要です。だから私はそれが私にとって重要ではないと私はちょっと私のdjango/db/backends/mysql/base.py:トラブル(Thing2Literal、adapt_datetime_with_timezone_support関数のインポートと関数が呼び出されている83行)の原因となるコードをコメントアウトしました もちろん、私はdjango 1.4を自分のプロジェクトと一緒にappengineにカスタマイズしてアップロードしています。

私はDjango内部をよりよく理解している人からのフィードバックを高く評価したいと思います。私はraw SQLをまったく使用しないと仮定しています。

+0

編集する行を私に教えて、レビューすることもできますか? – dumb906

+0

ここにあります:https://github.com/martar/django/commit/c5307e3291d0c0d43bd72b691d521c873134418f – martar

関連する問題