syncdb を実行する際に 'DatabaseOperations' オブジェクトに 'geo_db_type' 属性がないというエラーが発生する
質問
私は
heroku run python manage.py syncdb
を Heroku 上の GeoDjango アプリで実行しようとしていますが、以下のエラーが発生します。
AttributeError: 'DatabaseOperations' オブジェクトには 'geo_db_type' という属性がありません。
すべての
の
私の
研究
は同じ解決策を得ました: 必ず
django.contrib.gis.db.backends.postgis
をデータベースエンジンとして使用することです。面白いことに
私はすでにこの
(そして、私はまた
django.contrib.gis
で
INSTALLED_APPS
):
settings.py
DATABASES = {
'default': {
'ENGINE': 'django.contrib.gis.db.backends.postgis',
'NAME': '...',
'HOST': '...',
'PORT': ...,
'USER': '...',
'PASSWORD': '...'
}
}
INSTALLED_APPS = (
...,
'django.contrib.gis',
)
私が見逃している何か他のものがありますか?どんな助けでも大いに感謝します。以下は参考のために完全なエラートレースです。
Running `python manage.py syncdb` attached to terminal... up, run.1
Creating tables ...
Creating table auth_permission
Creating table auth_group_permissions
Creating table auth_group
Creating table auth_user_user_permissions
Creating table auth_user_groups
Creating table auth_user
Creating table django_content_type
Creating table django_session
Creating table django_site
Creating table django_admin_log
Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/app/lib/python2.7/site-packages/django/core/management/__init__.py", line 443, in execute_from_command_line
utility.execute()
File "/app/lib/python2.7/site-packages/django/core/management/__init__.py", line 382, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/app/lib/python2.7/site-packages/django/core/management/base.py", line 196, in run_from_argv
self.execute(*args, **options.__dict__)
File "/app/lib/python2.7/site-packages/django/core/management/base.py", line 232, in execute
output = self.handle(*args, **options)
File "/app/lib/python2.7/site-packages/django/core/management/base.py", line 371, in handle
return self.handle_noargs(**options)
File "/app/lib/python2.7/site-packages/django/core/management/commands/syncdb.py", line 91, in handle_noargs
sql, references = connection.creation.sql_create_model(model, self.style, seen_models)
File "/app/lib/python2.7/site-packages/django/db/backends/creation.py", line 44, in sql_create_model
col_type = f.db_type(connection=self.connection)
File "/app/lib/python2.7/site-packages/django/contrib/gis/db/models/fields.py", line 200, in db_type
return connection.ops.geo_db_type(self)
AttributeError: 'DatabaseOperations' object has no attribute 'geo_db_type'
更新 : 私は GeoDjango チュートリアル と Heroku/Django チュートリアル で、私の開発マシン上で動作する簡単なアプリを作りました。それを Heroku にプッシュするには カスタム GeoDjango ビルドパック を使って Heroku にプッシュし、syncdb を試しましたが、同じエラーが発生します。これは、Django/GeoDjango、Heroku、またはbuildpackの問題なのでしょうか?私の開発環境はPostgreSQL 9.1とPostGIS 2.0を使っていますが、Herokuは9.0.9と1.5を使っていますが、それが問題なのでしょうか?
どのように解決するのですか?
ここでは、ビルドパックが主な原因でした。にリストされている GeoDjango のビルドパックを使う代わりに Heroku のビルドパックページ にある GeoDjango のビルドパックを使う代わりに そのフォークの一つ を使いました。
また、私が
git push heroku master
を実行すると、Heroku はアプリの dev データベースを作成し、syncdb を実行すると。
の
DATABASES
の設定は無視されます。
で、Herokuは代わりにdevデータベースを使用しようとします。
を使おうとします。開発用データベースにはPostGISがインストールされていないので、明らかに問題です。そこで、開発用データベースを
git push
で作成した後、開発用データベースを破棄しました (このとき
正しいビルドパック
で)、syncdbを実行したところ、うまくいきました。
関連
-
Django の ForeignKey パラメータの使用法
-
Djangoキャッシュの説明
-
[解決済み] NoReverseMatchエラーとは何ですか、またどのように修正しますか?
-
[解決済み] Djangoでファイルをアップロードする方法は?[クローズド]。
-
[解決済み] RuntimeWarning: DateTimeFieldがナイーブなdatetimeを受信した
-
[解決済み] [Solved] カスタムDjango manage.pyコマンドをテストドライバから直接呼び出すにはどうしたらいいですか?
-
[解決済み] Django の filter と get は単一オブジェクトの場合?
-
[解決済み] django-tastypie と djangorestframework の違いは何ですか?[クローズド]
-
[解決済み] Djangoで複数のfilter()を連鎖させる、これはバグ?
-
[解決済み] Django の日付テンプレートのデフォルトフォーマットを変更するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Djangoの基本(16)。テンプレートタグの紹介とそのカスタマイズ方法
-
AttributeError: 'str' オブジェクトには 'decode' という属性がありません。
-
[解決済み] QuerySetで空白またはNULLの名前をフィルタリングする方法は?
-
[解決済み] RuntimeWarning: DateTimeFieldがナイーブなdatetimeを受信した
-
[解決済み] Djangoのテンプレートからsettings.pyの定数にアクセスすることは可能ですか?
-
[解決済み] Django のモデルで電話番号を保存する最良の方法は何ですか?
-
[解決済み] Django でモデルのフィールドを取得する
-
[解決済み] 学習に適したオープンソースのdjangoプロジェクト【非公開
-
[解決済み] django-tastypie と djangorestframework の違いは何ですか?[クローズド]
-
[解決済み] あるdjangoアプリから新しいアプリにモデルを移行するにはどうしたらいいですか?