Nic*_*ner 5 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',
)
Run Code Online (Sandbox Code Playgroud)
我能做错什么?中断似乎与在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)
Run Code Online (Sandbox Code Playgroud)
更新:
当我运行时python manage.py loadddata initial_data,它会出错:
DeserializationError: Invalid model identifier: myapp.SomeModel
Run Code Online (Sandbox Code Playgroud)
加载这些数据之前工作得很好.在数据文件中的第一个数据对象上抛出此错误.
解决了:
通过删除此行修复:
from stringprep import bl
Run Code Online (Sandbox Code Playgroud)
我敢打赌,您上面提到的 SomeModel 模型(不一定是 MyUser)有问题,这意味着它无法通过 loaddata 导入。如果不是 SomeModel,则为定义 SomeModel 的同一 models.py 中的模型。
你有没有尝试过./manage.py validate?即使这表明所有模型都很好,但有时如果应用程序的 models.py 中存在错误,则整个应用程序对于 management.py 来说将变得“不可见”。我不能说我知道为什么会这样,但似乎敲响了警钟。