Django syncdb没有为我的应用程序制作表格

时间:2010-05-13 18:03:25

标签: python django django-models

它曾经工作过,现在却没有。 python manage.py syncdb不再为我的应用制作表格。

来自 settings.py

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'mysite.myapp',
    'django.contrib.admin',
)

我可能做错了什么?中断似乎与在 models.py 中编辑此模型相吻合,但这可能完全是巧合。我注释掉了我改变的线条,它仍然不起作用。

class MyUser(models.Model):
    user = models.ForeignKey(User, unique=True)
    takingReqSets = models.ManyToManyField(RequirementSet, blank=True)
    takingTerms = models.ManyToManyField(Term, blank=True)
    takingCourses = models.ManyToManyField(Course, through=TakingCourse, blank=True)
    school = models.ForeignKey(School)
#    minCreditsPerTerm = models.IntegerField(blank=True)
#    maxCreditsPerTerm = models.IntegerField(blank=True)
#    optimalCreditsPerTerm = models.IntegerField(blank=True)

更新

当我运行python manage.py loadddata initial_data时,它会出错:

DeserializationError: Invalid model identifier: myapp.SomeModel

加载此数据之前工作正常。在数据文件中的第一个数据对象上抛出此错误。

已解决:

通过删除此行修复:

from stringprep import bl

1 个答案:

答案 0 :(得分:2)

我敢打赌,你上面提到的SomeModel模型(不一定是MyUser)遇到了问题,这意味着它无法通过loaddata导入。如果不是SomeModel,那么模型在相同的models.py中定义了SomeModel。

你试过./manage.py validate吗?即使这表示所有模型都很好,有时如果应用程序的models.py中存在错误,整个应用程序对manage.py变得“不可见”。我不能说我知道为什么就是这种情况,但似乎敲响了警钟。