您好,登錄后才能下訂單哦!
Aphorism
the fight is worth it.
django models 連接 sqlite 數據庫
django 版本為 1.11.7
在 blog 項目下創建一個 app article :python manage.py startapp article
在 blog 項目結構下會多出一個 article 目錄
在 article 下面的 models.py 文件中輸入
from django.db import models class Article(models.Model): name = models.CharField('名稱',max_length = 30) age = models.CharFiels('年齡',max_length = 5) class Meta: db_table = 'Article'
step4: 在 子blog 目錄中 修改 setting.py 文件
- 要連接到哪種數據庫 : sqlite ? mysql? - 連接的數據庫路徑
下面這種配置表示:
1. sqlite 數據庫 和 在項目根目錄下 創建一個 article.db 數據庫文件
2. 數據庫的類型 以及 數據庫的存儲位置
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'article.db'), } }
step5: 執行 python manage.py makemigrations
改動了 model.py的內容之后執行下面的命令:python manger.py makemigrations相當于 在該app下建立 migrations目錄,并記錄下你所有的關于modes.py的改動,比如0001_initial.py, 但是這個改動還沒有作用到數據庫文件
cmd 中會顯示
Migrations for 'article': article\migrations\0001_initial.py - Create model Article
step6: 執行 python manage.py migrate
在第5步之后執行命令 將該models.py改動 作用到數據庫文件,說明 /blog/article數據庫文件已經被改變了,生成表格或者操作了數據
cmd 中 顯示:
(blog) C:\Users\by\Desktop\review\python\blog\blog>python manage.py migrate Operations to perform: Apply all migrations: admin, article, articles, auth, contenttypes, sessions Running migrations: Applying contenttypes.0001_initial... OK Applying auth.0001_initial... OK Applying admin.0001_initial... OK Applying admin.0002_logentry_remove_auto_add... OK Applying article.0001_initial... OK Applying articles.0001_initial... OK Applying contenttypes.0002_remove_content_type_name... OK Applying auth.0002_alter_permission_name_max_length... OK Applying auth.0003_alter_user_email_max_length... OK Applying auth.0004_alter_user_username_opts... OK Applying auth.0005_alter_user_last_login_null... OK Applying auth.0006_require_contenttypes_0002... OK Applying auth.0007_alter_validators_add_error_messages... OK Applying auth.0008_alter_user_username_max_length... OK Applying sessions.0001_initial... OK
step7: 執行 python manage.py sqlmigrate app_name 0001
這個命令用于查看 生成的 sql語句, 這個命令相當于之前 django 版本中的 sqlall
cmd 中顯示:
(blog) C:\Users\by\Desktop\review\python\blog\blog>python manage.py sqlmigrate article 0001 BEGIN; -- -- Create model Article -- CREATE TABLE "Article" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "name" varchar(30) NOT NULL, "age" varchar(5) NOT NULL); COMMIT;
step8: 執行命令 python manage.py dbshell
可以看看數據中是否生成了對應的表,顯然本例子中 Article 生成,Articles 是我之前啟動的另一個 app
或者 sqlite3 article.db 然后 .tables也可以查看
cmd 中
(blog) C:\Users\by\Desktop\review\python\blog\blog>python manage.py dbshell SQLite version 3.7.15.2 2013-01-09 11:53:05 Enter ".help" for instructions Enter SQL statements terminated with a ";" sqlite> .tables Article auth_user_groups Articles auth_user_user_permissions auth_group django_admin_log auth_group_permissions django_content_type auth_permission django_migrations auth_user
使用 python shell insert 數據到 article.db 中
execute python manage.py shell 進入項目的 python 命令執行環境中
使用python 語法往數據庫 insert 數據
>>> from article.models import Article ## 等價寫法: from articles import models.Article >>> Article.objects.create(name='tom',age='12') <Article: Article object> >>> Article.objects.create(name='juice',age='13') <Article: Article object>
查看article.db 數據庫:
sqlite article.db select * from article sqlite> select * from Article ...> ; 1|tom|12 2|juice|13 sqlite>
以上這篇django 連接數據庫 sqlite的例子就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。