Django-Treebeard ノードから sub-lassing すると、説明のない (または、少なくともこのコンテキストで解釈する方法がわからない) エラー メッセージが表示され、デバッグ方法がわかりません。http://code.tabo.pe/django-treebeard/src/tip/tbexample/のインストール手順を使用しています(投稿の最後を参照)。
MP_Node のサブクラスを作成すると、syncdb が機能します。ただし、models.py コードをシェルにロードすると、「リスト インデックスが範囲外です」というエラーが発生します。以下のコードとトレースを参照してください。
ご協力いただきありがとうございます。
Python 2.6.4、Django 1.1、Treebeard 1.1:
try:
from django.db import models, transaction
from django.db.models import AutoField
import django.dispatch
from django.contrib.treebeard.mp_tree import MP_Node
except ImportError, exc:
print "django error in %s: %s" % (__file__, exc)
class DelibNode(MP_Node): pass
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "C:\Program Files\Python26\lib\site-packages\django\db\models\base.py", line 52, in __new__
kwargs = {"app_label": model_module.__name__.split('.')[-2]}
IndexError: list index out of range
Settings.py にインストールされているアプリ:
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.s ites',
'django.contrib.admin',
'django.contrib.treebeard',
'medCE.delib'
)
手順:
1. を実行して、PyPi
1.1
から最新の treebeard バージョンeasy_install django-treebeard
をインストールします。easy_install が気に入らない場合は、treebeard ダウンロード ページからリリースをダウンロードするか
、treebeard mercurial リポジトリから
開発バージョンを取得して2 を実行します。django
設定ファイルのセクションに
「treebeard」を追加します。
3. django- treebeard
の
抽象ツリー モデルの 1 つから継承する新しいモデルを作成します
。
4.実行する
python setup.py install
INSTALLED_APPS
python manage.py syncdb