У меня есть проект Django в Eclipse PyDev.
У меня есть файл views.py со строкой:
from models import ingredient2
В models.py у меня есть:
from django.db import models
class ingredient2(models.Model):
ingredient = models.CharField(max_length=200)
Когда я пытаюсь запустить приложение, я получаю следующую ошибку:
File "C:\Python27\lib\site-packages\django\db\models\base.py", line 54, in __new__
kwargs = {"app_label": model_module.__name__.split('.')[-2]}
IndexError: list index out of range
Я синхронизировал базу данных и запустил сервер.
Я зашел в base.py и добавил 2 оператора печати (да, я, вероятно, не должен редактировать файлы Django):
if getattr(meta, 'app_label', None) is None:
# Figure out the app_label by looking one level up.
# For 'django.contrib.sites.models', this would be 'sites'.
model_module = sys.modules[new_class.__module__]
print model_module #ADDED
print model_module.__name__ #ADDED
kwargs = {"app_label": model_module.__name__.split('.')[-2]}
Они распечатывают:
<module 'models' from 'C:\Users\Tine\workspace\slangen\slangen2\bolig\models.pyc'>
models
manage.py содержится в папке bolig. Я думаю, что правильная метка приложения будет "болиг". Приложение работало несколько месяцев назад, и теперь, когда я возвращаюсь к нему, что-то не так. Я создавал другие проекты в PyDev.