Ⅰ django1.8更改了model後要怎樣重建資料庫
目前到django1.7 為止
修改model的前提是:你已經創建完model,並且已經 使用 syncdb 或 migrate 創建了相應的資料庫表。
然後再 修改model,不會對資料庫表產生任何修改的。
具體的東西,自己去看 Django 相應版本的文檔去吧
Ⅱ 關於DJANGO連接資料庫和創建模型問題
創建資料庫
選擇開始菜單中→程序→【Management sql Server 2008】→【SQL Server Management Studio】命令,打開【SQL Server Management Studio】窗口,並使用Windows或 SQL Server身份驗證建立連接。
在【對象資源管理器】窗口中展開伺服器,然後選擇【資料庫】節點
右鍵單擊【資料庫】節點,從彈出來的快捷菜單中選擇【新建資料庫】命令。
Ⅲ 為什麼django創建新應用model同步到資料庫中失敗
報錯 mole 'django.db.models' has no arrtbute 'Models'
models.Model 這個後面大寫的對象是沒有s 的,字母拼寫錯誤
正確的如下:
class Topic(models.Model):
Ⅳ django使用已有的資料庫表怎麼建立model
在網上看到都是使用Django的models和makemigration,migrate命令來創建新表,並使用。可是我的數據已經存在了已經創建好,並且已經存儲有數據了,不能再重新創建新表了。了解Django的表明和models名稱的映射關系就可以讓Django使用已經存在的表。
假如在Django存在models如下:
[python]view plain
fromdjango.dbimportmodels
#Createyourmodelshere.
classSciencenews(models.Model):
id=models.CharField(max_length=36,primary_key=True)
first_mole=models.CharField(max_length=30,default="News")
second_mole=models.CharField(max_length=30,default="LatestNews")
title=models.CharField(max_length=300)
author=models.CharField(max_length=60,null=True)
publish_date=models.CharField(max_length=35,null=True)
content=models.TextField(null=True)
crawl_date=models.CharField(max_length=35,null=True)
from_url=models.CharField(max_length=350,null=True)
- 執行數據遷移命令:
pythonmanage.pymakemigration
pythonmanage.pymigrate
- 會在資料庫中生成名稱為show_sciencenews的數據表。show為應用名稱,此處我的應用名稱為show。可以看到Django創建表的命名規則:應用名_模型名。
[python]view plain
我的存儲爬取到的數據的表格名稱原來為science_news,想要Django使用它,而不是創建新的表,只需要把的它的名稱改為:應用名_要與該表映射的models名稱,在此處我改為show_sciencenews。然後使用如上的數據遷移命令,這時可能會提示數據表已經存在的錯誤,不用理會,models已經和數據表映射上了。接下來只需要正常使用models和數據表就可以了。
Ⅳ django1.8更改了model後要怎樣重建資料庫
#如果你說用的是pycharm編譯器的話:
使用ctrl+alt+r進入manage界面
然後輸入makemigrations[appname]創建資料庫引導文件
然後使用migrate[appname]來把model變化同步到資料庫
#[appname]指你當前model所在的app,如果不指定appname;則編譯全部app
#如果不是pycharm編譯器的話,請再追問
Ⅵ django1.8更改了model後要怎樣重建資料庫
從Java web轉過來學習django,有些方法邏輯不習慣,直接修改model更新到資料庫:執行如下命令即可 python manage.py makemigrations myapp python manage.py migrate
Ⅶ django怎樣自動創建資料庫table
django創建資料庫表方法如下:
catcher:mysitecatcher$pythonmanage.pymakemigrationsbooks
Migrationsfor'books':
0001_initial.py:
-CreatemodelAuthor
-CreatemodelBook
-CreatemodelPublisher
-Addfieldpublishertobook
catcher:mysitecatcher$pythonmanage.pysqlmigratebooks0001
BEGIN;
--
--CreatemodelAuthor
--
CREATETABLE"books_author"("id","first_name"varchar(30)NOTNULL,"last_name"varchar(40)NOTNULL,"email"varchar(254)NOTNULL);
--
--CreatemodelBook
--
CREATETABLE"books_book"("id","title"varchar(100)NOTNULL,"publication_date"dateNOTNULL);
CREATETABLE"books_book_authors"("id","book_id"integerNOTNULLREFERENCES"books_book"("id"),"author_id"integerNOTNULLREFERENCES"books_author"("id"));
--
--CreatemodelPublisher
--
CREATETABLE"books_publisher"("id","name"varchar(30)NOTNULL,"address"varchar(50)NOTNULL,"city"varchar(60)NOTNULL,"state_province"varchar(30)NOTNULL,"country"varchar(50)NOTNULL,"website"varchar(200)NOTNULL);
--
--Addfieldpublishertobook
--
ALTERTABLE"books_book"RENAMETO"books_book__old";
CREATETABLE"books_book"("id","title"varchar(100)NOTNULL,"publication_date"dateNOTNULL,"publisher_id"integerNOTNULLREFERENCES"books_publisher"("id"));
INSERTINTO"books_book"("publication_date","publisher_id","id","title")SELECT"publication_date",NULL,"id","title"FROM"books_book__old";
DROPTABLE"books_book__old";
CREATEINDEX"books_book_2604cbea"ON"books_book"("publisher_id");
COMMIT;
catcher:mysitecatcher$
catcher:mysitecatcher$sudopythonmanage.pymigratePassword:Operationstoperform:Applyallmigrations:admin,contenttypes,books,auth,sessionsRunningmigrations:Renderingmodelstates...DONEApplyingcontenttypes.0001_initial...OKApplyingauth.0001_initial...OKApplyingadmin.0001_initial...OKApplyingadmin.0002_logentry_remove_auto_add...OKApplyingcontenttypes.0002_remove_content_type_name...OKApplyingauth.0002_alter_permission_name_max_length...OKApplyingauth.0003_alter_user_email_max_length...OKApplyingauth.0004_alter_user_username_opts...OKApplyingauth.0005_alter_user_last_login_null...OKApplyingauth.0006_require_contenttypes_0002...OKApplyingauth.0007_alter_validators_add_error_messages...OKApplyingbooks.0001_initial...OKApplyingsessions.0001_initial...OKcatcher:mysitecatcher$
Ⅷ Django裡面怎麼實現資料庫視圖啊 就是虛擬表
正經回答:先在資料庫中建立好視圖,然後django中建立對應的model。表所對應的類下面再建立一個Meta類,大致如下
classViewModel(models.Model):
"""這個model類對應你所建立好的視圖"""
classMeta(object):
"""同理,該方法可用於使用mysql中任何已有的表,不僅是視圖"""
db_table='your_view'#顯式指定表名,也就是你建立的視圖的名字
managed=false#默認是ture,設成falsedjango將不會執行建表和刪表操作
#建立欄位間的映射
#需要注意的是,必須設一個欄位為主鍵
#不然django會自動創建一個id欄位為主鍵,引發錯誤
網路知道越來越辣雞了,全是答非所問的。
Ⅸ django怎麼根據mysql已有表自動生產model
目前到django1.7 為止 修改model的前提是:你已經創建完model,並且已經 使用 syncdb 或 migrate 創建了相應的資料庫表。 然後再 修改model,不會對資料庫表產生任何修改的。 具體的東西,自己去看 Django 相應版本的文檔去吧 不同版本,不太一樣。
Ⅹ 為什麼django創建應用model同步到資料庫中失敗
錯誤:class Topic(models.Models):
正確:class Topic(models.Model):
你多打了一個s