2013-12-08 50 views
-1

我是Python和Django的新手,并且一步一步地跟着"django/docs/intro/tutorial01.txt"。起初,一切都很顺利,直到我就去排队765 我试图调试,但没设提前上班Django tutorial01 OperationalError:没有这样的列:polls_choice.question_text_id

>>> q.choice_set.all() 

Traceback (most recent call last): 
    File "<console>", line 1, in <module> 
    File "D:\Program Files\Python27\lib\site-packages\django\db\models\query.py", 
line 71, in __repr__ 
    data = list(self[:REPR_OUTPUT_SIZE + 1]) 
    File "D:\Program Files\Python27\lib\site-packages\django\db\models\query.py", 
line 96, in __iter__ 
    self._fetch_all() 
    File "D:\Program Files\Python27\lib\site-packages\django\db\models\query.py", 
line 854, in _fetch_all 
    self._result_cache = list(self.iterator()) 
    File "D:\Program Files\Python27\lib\site-packages\django\db\models\query.py", 
line 220, in iterator 
    for row in compiler.results_iter(): 
    File "D:\Program Files\Python27\lib\site-packages\django\db\models\sql\compile 
r.py", line 710, in results_iter 
    for rows in self.execute_sql(MULTI): 
    File "D:\Program Files\Python27\lib\site-packages\django\db\models\sql\compile 
r.py", line 781, in execute_sql 
    cursor.execute(sql, params) 
    File "D:\Program Files\Python27\lib\site-packages\django\db\backends\util.py", 
line 69, in execute 
    return super(CursorDebugWrapper, self).execute(sql, params) 
    File "D:\Program Files\Python27\lib\site-packages\django\db\backends\util.py", 
line 53, in execute 
    return self.cursor.execute(sql, params) 
    File "D:\Program Files\Python27\lib\site-packages\django\db\utils.py", line 99 
, in __exit__ 
    six.reraise(dj_exc_type, dj_exc_value, traceback) 
    File "D:\Program Files\Python27\lib\site-packages\django\db\backends\util.py", 
line 53, in execute 
    return self.cursor.execute(sql, params) 
    File "D:\Program Files\Python27\lib\site-packages\django\db\backends\sqlite3\b 
ase.py", line 450, in execute 
    return Database.Cursor.execute(self, query, params) 
OperationalError: no such column: polls_choice.question_text_id 
>>> q.choice_text_set.all() 
Traceback (most recent call last): 
    File "<console>", line 1, in <module> 
AttributeError: 'Question' object has no attribute 'choice_text_set' 
>>> q.choice_set.all() 
Traceback (most recent call last): 
    File "<console>", line 1, in <module> 
    File "D:\Program Files\Python27\lib\site-packages\django\db\models\query.py", 
line 71, in __repr__ 
    data = list(self[:REPR_OUTPUT_SIZE + 1]) 
    File "D:\Program Files\Python27\lib\site-packages\django\db\models\query.py", 
line 96, in __iter__ 
    self._fetch_all() 
    File "D:\Program Files\Python27\lib\site-packages\django\db\models\query.py", 
line 854, in _fetch_all 
    self._result_cache = list(self.iterator()) 
    File "D:\Program Files\Python27\lib\site-packages\django\db\models\query.py", 
line 220, in iterator 
    for row in compiler.results_iter(): 
    File "D:\Program Files\Python27\lib\site-packages\django\db\models\sql\compile 
r.py", line 710, in results_iter 
    for rows in self.execute_sql(MULTI): 
    File "D:\Program Files\Python27\lib\site-packages\django\db\models\sql\compile 
r.py", line 781, in execute_sql 
    cursor.execute(sql, params) 
    File "D:\Program Files\Python27\lib\site-packages\django\db\backends\util.py", 
line 69, in execute 
    return super(CursorDebugWrapper, self).execute(sql, params) 
    File "D:\Program Files\Python27\lib\site-packages\django\db\backends\util.py", 
line 53, in execute 
    return self.cursor.execute(sql, params) 
    File "D:\Program Files\Python27\lib\site-packages\django\db\utils.py", line 99 
, in __exit__ 
    six.reraise(dj_exc_type, dj_exc_value, traceback) 
    File "D:\Program Files\Python27\lib\site-packages\django\db\backends\util.py", 
line 53, in execute 
    return self.cursor.execute(sql, params) 
    File "D:\Program Files\Python27\lib\site-packages\django\db\backends\sqlite3\b 
ase.py", line 450, in execute 
    return Database.Cursor.execute(self, query, params) 
OperationalError: no such column: polls_choice.question_text_id 

任何意见,谢谢。

+0

你运行过'python manage.py syncdb'吗? –

+0

首先,我运行python manage.py syncdb并重新运行它。但是,仍然有错误。 – Max

回答

1

请确保您使用的是正在使用的Django版本的正确教程。您已链接到主分支中的文档,最终将成为Django 1.7。如果您使用的是Django 1.6,请使用1.6 tutorial

我建议您再次使用正确的文档开始教程。第二次通过会更快。如果再次卡住,请更新您的问题。祝你好运!

+0

非常感谢您的建议。事实证明,在过程中我同步的表有问题。我真的应该重新启动这个过程。 – Max

3

有两种可能,得到这个错误 1)你做了syncdb后额外的领域模型。 2)您在django中的model.py文件中添加了新类。

解决方案是这样的:

首先使用命令

for windows: **easy_install south**  //for that you need to go to the script folder of python folder in c drive. 

    for linux: **sudo easy_install south** 

然后按照其包括在这里migration tutorials

step1-蟒蛇manage.py schemamigration your_app_name --initial步骤安装以南

step-2 python manage.py migrate your_app_name

假设您在模型中的任何改变,然后

1) python manage.py schemamigration your_app_name --auto 
2) python manage.py migrate your_app_name 

希望这会帮助你。

相关问题