5
我對Python非常陌生,並且在編寫djbyexample教程。我繼續得到一個與我的兩個模型之一有關的操作失誤,我不知道爲什麼(雖然我確信它是一個明顯的答案)。OperationalError:沒有這樣的列
我已經設置了兩種模式:
from django.db import models
class DateTime(models.Model):
datetime = models.DateTimeField(auto_now_add=True)
def __unicode__(self):
return unicode(self.datetime)
class Item(models.Model):
name = models.CharField(max_length=60)
created= models.ForeignKey(DateTime)
priority = models.IntegerField(default=0)
difficulty = models.IntegerField(default=0)
done = models.BooleanField(default=False)
def __str__(self):
return self.name
我的admin.py如下:
from django.contrib import admin
from models import Item, DateTime
class ItemAdmin(admin.ModelAdmin):
list_display = ["name","priority","difficulty","created","done"]
search_fields = ["name"]
class ItemInline(admin.TabularInline):
model = Item
class DateAdmin(admin.ModelAdmin):
list_display = ["datetime"]
inlines = [ItemInline]
admin.site.register(Item,ItemAdmin)
admin.site.register(DateTime,DateAdmin)
當試圖通過Live管理我去訪問項目模型如下回溯:
Environment:
Request Method: GET
Request URL: http://127.0.0.1:8000/admin/todo/item/
Django Version: 1.6.1
Python Version: 2.7.3
Installed Applications:
('django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'todo',
'south')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware')
Traceback:
File "/home/blake/.virtualenvs/Todo_List/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
114. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/blake/.virtualenvs/Todo_List/local/lib/python2.7/site-packages/django/contrib/admin/options.py" in wrapper
432. return self.admin_site.admin_view(view)(*args, **kwargs)
File "/home/blake/.virtualenvs/Todo_List/local/lib/python2.7/site-packages/django/utils/decorators.py" in _wrapped_view
99. response = view_func(request, *args, **kwargs)
File "/home/blake/.virtualenvs/Todo_List/local/lib/python2.7/site-packages/django/views/decorators/cache.py" in _wrapped_view_func
52. response = view_func(request, *args, **kwargs)
File "/home/blake/.virtualenvs/Todo_List/local/lib/python2.7/site-packages/django/contrib/admin/sites.py" in inner
198. return view(request, *args, **kwargs)
File "/home/blake/.virtualenvs/Todo_List/local/lib/python2.7/site-packages/django/utils/decorators.py" in _wrapper
29. return bound_func(*args, **kwargs)
File "/home/blake/.virtualenvs/Todo_List/local/lib/python2.7/site-packages/django/utils/decorators.py" in _wrapped_view
99. response = view_func(request, *args, **kwargs)
File "/home/blake/.virtualenvs/Todo_List/local/lib/python2.7/site-packages/django/utils/decorators.py" in bound_func
25. return func(self, *args2, **kwargs2)
File "/home/blake/.virtualenvs/Todo_List/local/lib/python2.7/site-packages/django/contrib/admin/options.py" in changelist_view
1411. 'selection_note': _('0 of %(cnt)s selected') % {'cnt': len(cl.result_list)},
File "/home/blake/.virtualenvs/Todo_List/local/lib/python2.7/site-packages/django/db/models/query.py" in __len__
77. self._fetch_all()
File "/home/blake/.virtualenvs/Todo_List/local/lib/python2.7/site-packages/django/db/models/query.py" in _fetch_all
854. self._result_cache = list(self.iterator())
File "/home/blake/.virtualenvs/Todo_List/local/lib/python2.7/site-packages/django/db/models/query.py" in iterator
220. for row in compiler.results_iter():
File "/home/blake/.virtualenvs/Todo_List/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py" in results_iter
710. for rows in self.execute_sql(MULTI):
File "/home/blake/.virtualenvs/Todo_List/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py" in execute_sql
781. cursor.execute(sql, params)
File "/home/blake/.virtualenvs/Todo_List/local/lib/python2.7/site-packages/django/db/backends/util.py" in execute
69. return super(CursorDebugWrapper, self).execute(sql, params)
File "/home/blake/.virtualenvs/Todo_List/local/lib/python2.7/site-packages/django/db/backends/util.py" in execute
53. return self.cursor.execute(sql, params)
File "/home/blake/.virtualenvs/Todo_List/local/lib/python2.7/site-packages/django/db/utils.py" in __exit__
99. six.reraise(dj_exc_type, dj_exc_value, traceback)
File "/home/blake/.virtualenvs/Todo_List/local/lib/python2.7/site-packages/django/db/backends/util.py" in execute
53. return self.cursor.execute(sql, params)
File "/home/blake/.virtualenvs/Todo_List/local/lib/python2.7/site-packages/django/db/backends/sqlite3/base.py" in execute
450. return Database.Cursor.execute(self, query, params)
Exception Type: OperationalError at /admin/todo/item/
Exception Value: no such column: todo_item.created_id
你知道是什麼原因造成了這個問題。我已經完全刪除數據庫並運行syncdb並正在工作,但只是試圖找出我在哪裏犯錯的地方。 @Ignacio – user2957824
你可能同步了數據庫,但後來改變了一些東西(ForeignKey到DateTime);在這種情況下再次同步不會有幫助,因爲該表已存在,所以該列缺失。 – Mark