我不確定這是否是sqlite數據庫特有的問題,但添加了一些屬性後,我成功執行了syncdb,但仍未將這些列添加到數據庫中,以及何時我嘗試在管理員訪問模型我得到no such column
錯誤。Django manage.py syncdb與sqlite3一起使用時什麼也不做
爲什麼會發生這種情況,我該如何解決這個問題?
詳細信息:Django 1.3,Python 2.6,OSX 10.6,PyCharm。
我不確定這是否是sqlite數據庫特有的問題,但添加了一些屬性後,我成功執行了syncdb,但仍未將這些列添加到數據庫中,以及何時我嘗試在管理員訪問模型我得到no such column
錯誤。Django manage.py syncdb與sqlite3一起使用時什麼也不做
爲什麼會發生這種情況,我該如何解決這個問題?
詳細信息:Django 1.3,Python 2.6,OSX 10.6,PyCharm。
創建表後,sync db不會進行集成模式更改。您必須手動刪除數據庫並再次執行syncdb。看到盒裝的信息在這個環節
http://docs.djangoproject.com/en/dev/ref/django-admin/#syncdb
一如既往,syncdb
不會遷移現有架構。
我認爲一個可以在這裏找到解決方案:一個不錯的博客開始使用Django: 入門Django的REST框架(DRF)和AngularJS: http://engineroom.trackmaven.com/blog/getting-started-drf-angularjs-part-1/
您的模型在settings.py中的installed_apps中列出了嗎?另外,你可以發佈你的models.py(或者至少有一個類)?你是否試圖用新列更新當前存在的數據庫? – tkone 2011-03-06 15:30:46
首先,* app *(模塊)在settings.py中列出,而不是模型(並且這是它應該是donbe)。我嘗試將新列添加到現有表。這完全是因爲如果我添加一個新的模型,它的工作原理。 – sorin 2011-03-06 15:33:33
syncdb不會將列添加到現有表。你必須手動添加它們。看到這裏:http://code.djangoproject.com/wiki/SchemaEvolution – tkone 2011-03-06 15:38:14