2016-01-30 99 views
0

我已經分配了使用sqlite通過django設置在線數據庫的任務,它將包含信息列。我的問題是,我不知道哪些信息將建立在哪裏 - 我的models.py腳本,或者我應該使用「CREATE TABLE」命令來完成它? 一個在我的models.py腳本代碼的例子如下:用django配置sqlite

class Person(models.Model): 
     firstname=models.CharField(max_length=100) 
     lastname=models.CharField(max_length=100) 

,我被給予推薦這個命令的教程:在執行這個命令,我很自然地得到了一個錯誤說

insert into freezer_person (firstname,last name) values('Louis','Pasteur') 

然而「表不存在」,即我不得不使用「CREATE TABLE」命令。 所以當我嘗試:

  "CREATE TABLE in freezer_person(...)" 

它返回「在」是語法不正確。 所以我的問題是如何去創建一個表,將從models.py?中獲取信息 - 我似乎無法在此找到任何信息...

+0

您正在使用什麼教程?有沒有關於Django的遷移(或舊版本'syncdb')? –

回答

1

您不創建表; Django通過migrations系統爲您做到這一點。

這完全覆蓋在tutorial

0

models.py您的模型類定義您的表:每個模型類將轉置在一個表中。模型類的每個屬性都將成爲相應表中的一列。模型類的每個實例將成爲該表中的一行。

所以,當你想創建你定義在你的應用程序的models.py文件中的模型類的表,然後運行

python manage.py makemigrations 

追蹤到模型類中所做的更改,並生成一個遷移文件其中包含SQL語句將被應用到數據庫,然後把它們應用到數據庫,運行

python manage.py migrate 
+0

感謝您的意見。我已經完成了所有必要的遷移並將值插入表中 - 「select * from freezer_person;」但不返回任何東西.... – derdra