为什么在我的Django代码中出现'索引超出范围'错误;
IndexError: 列表索引超出范围
这是我的Django代码:
import os
os.environ["DJANGO_SETTINGS_MODULE"] = "sphinx_test.settings"
#from django.core.management import setup_environ
#from sphinx_test import settings
#setup_environ(settings)
from django.db import models
from djangosphinx.models import SphinxSearch,SphinxQuerySet
class File(models.Model):
name = models.CharField(max_length=200)
tags = models.CharField(max_length=200)
objects = models.Manager()
search = SphinxQuerySet(index="test1")
import datetime
class Group(models.Model):
name = models.CharField(max_length=32)
class Document(models.Model):
group = models.ForeignKey(Group)
date_added = models.DateTimeField(default=datetime.datetime.now)
title = models.CharField(max_length=32)
content = models.TextField()
search = SphinxQuerySet(File,index="test1")
class Meta:
db_table = 'documents'
还有
Traceback (most recent call last):
File "D:\zjm_code\sphinx_test\models.py", line 16, in <module>
class File(models.Model):
File "D:\Python25\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
2 个回答
1
这很奇怪,这段代码本来只是用来确定你的应用名称的。你可以查看这里的第45行开始的部分。你的应用名称是什么呢?
你可以试着在模型的Meta部分把app_label设置为你的应用名称,这样可能就能避免这个错误。
3
你需要把 Meta.app_label
设置成一个可以用的名字。