【发布时间】:2011-01-13 23:56:03
【问题描述】:
当我从 Django-Treebeard 节点进行子激光传输时,我收到了一个非描述性的(或者至少我不知道如何在这种情况下解释)错误消息,并且不确定如何调试。我正在使用安装说明:http://code.tabo.pe/django-treebeard/src/tip/tbexample/(请参阅帖子末尾)。
我创建了 MP_Node 的子类,并且 syncdb 工作。但是,将 models.py 代码加载到 shell 会产生“列表索引超出范围”错误 - 请参阅下面的代码和跟踪。
感谢您的帮助。
Python 2.6.4、Django 1.1、树须 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.运行easy_install django-treebeard安装
PyPi 的最新 treebeard 版本
1.1。如果您不喜欢 easy_install,请从
下载一个版本
treebeard 下载页面或获取开发版
从treebeard mercurial存储库中运行python setup.py install
2. 将“treebeard”添加到您
中的INSTALLED_APPS 部分
django 设置文件。
3. 创建一个继承自 django-treebeard 的一个新模型
抽象树模型:mp_tree.MP_Node(物化路径),
ns_tree.NS_Node(嵌套集)或 al_tree.AL_Node
(邻接列表)。
4.运行python manage.py syncdb
【问题讨论】:
-
当 treebeard 目录没有安装在 django/contrib 下而是直接安装在 site-packages 下时,我也会遇到同样的错误。