2010-05-13 102 views
5

它曾經工作,現在它不。 python manage.py syncdb不再爲我的應用創建表格。Django 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) 

UPDATE

當我運行python manage.py loadddata initial_data,它給出了一個錯誤:

DeserializationError: Invalid model identifier: myapp.SomeModel 

加載這些數據之前已經工作得很好。該錯誤在數據文件中的第一個數據對象上拋出。

解決:

通過刪除這一行修正:

from stringprep import bl 
+2

該表是否已經存在? – 2010-05-13 18:06:49

+0

不,我在每次運行syncdb之前刪除SQLite數據庫文件。 – 2010-05-13 18:38:51

回答

2

我敢打賭,你上面的(不一定MYUSER)提SomeModel模式已經得到了一個問題,這意味着它不能由loaddata導入。如果不是SomeModel,那麼在與SomeModel相同的models.py中定義一個模型。

你試過./manage.py validate?即使這表示所有模型都沒有問題,但有時如果應用程序的models.py中存在錯誤,則整個應用程序對manage.py將變得「不可見」。我不能說我知道爲什麼這種情況,但似乎響個不停。

+5

驗證報告:發現'0個錯誤'。我想我會親自查看其他錯誤。 – 2010-05-13 18:39:36

相關問題