почему в моем коде django «указатель индекса вне диапазона»; - PullRequest
1 голос
/ 06 февраля 2010

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 ]

3 голосов
/ 06 февраля 2010

Вам нужно установить Meta.app_label на что-то пригодное для использования.

1 голос
/ 06 февраля 2010

Странно, эта часть кода должна определять имя вашего приложения. См. Раздел здесь , начиная с строки 45. Как называется ваше приложение для этого?

Вы можете избежать ошибки, установив app_label в качестве названия вашего приложения в разделе Meta вашей модели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...