您好,登錄后才能下訂單哦!
小編給大家分享一下在Django開發中默認的數據庫是什么,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
數據庫是網站開發中一個重要的部分,在Django開發中,默認的數據庫為SQLite,本文將簡單講解后端views.py與SQLite的數據交換。一個基本的數據庫從創建到使用大概可以分為以下步驟:
在models.py中創建表
在之前創建的Django的app文件夾下,有一個models.py文件,這個文件就是用于創建數據庫表的。下面以創建一個名為User的表為例,建立一個存儲用戶信息的表。在models.py中寫入:
class User(models.Model): username = models.CharField(max_length=20,primary_key=True) password = models.CharField(max_length=30) email = models.EmailField() phone = models.CharField(max_length=15)
以上的類名代表了數據庫的表名,且這個類繼承了models.Model,在表中指定了四個字段,其中username中的primary_key=True表示將username設置為主鍵。常用的字段有:
models.CharField # 必須指定max_length參數 models.BooleanField models.EmailField models.FloatField models.IntegerField models.TextField models.URLField
生成相應的表
注冊好表之后,接下來需要對settings.py作一些修改,settings.py位于創建的project的目錄下。首先,需要注冊我們創建的app,在settings.py中找到INSTALLED_APPS這一項,添加進你創建的app的名字。比如我創建的是名為"mytest"的app,models.py這些文件就在mytest這個目錄下,就在INSTALLED_APPS中添加:"mytest"
由于我們這里使用的是默認的SQLite數據庫,因此不需要對settings.py中的DATABASES項作修改,如果想要使用其他數據庫,這一項需要進行修改。
接下來,在含有manage.py的目錄下用命令行分別運行以下命令:
python manage.py makemigrations python manage.py migrate
這時你在models.py中定義的表就會被創建。如果在第一次創建表之后對表進行修改,例如增加字段,這時執行以上兩個語句時就會出錯,解決方法是在新增加的字段后使用null = True允許字段為空,或者使用default = xxx指定默認值
admin可視化管理models
到這里你的表已經可以使用了,但是如果你想可視化地對其進行操作的話,可以進行下列步驟:
首先進入app目錄下的admin.py文件,加入:
from mytest import models
admin.site.register(models.User)
這里的mytest就是app的名字,User就是你的表的名字。然后,進入manage.py所在目錄,命令行中運行:
python manage.py createsuperuser
創建管理用戶后,運行server,進入127.0.0.1:8000/admin便可以管理數據庫:
對數據庫進行操作
在運行Django時,會需要對數據庫進行增刪改查等操作,下面介紹如何在views.py中對數據庫進行操作
首先需要導入我們的models:
from mytest.models import User
1.查詢
如果我們想獲取單個對象,比如用戶名為name的用戶信息,我們可以輸入:
user = User.objects.get(username=name)
然后,使用:user.password用于獲取這個對象的其他字段比如密碼
如果我們想判斷某個對象是否存在,我們可以使用:
try: user = User.objects.get(username=name)except User.DoesNotExist: msg = Falseelse: passwd = user.password
如果想進行模糊檢索,可以使用User.objects.filter(username__contains=name),其中contains前面是兩個下劃線。User.objects.filter(username__contains=name).filter(password__contains=pass)是“與”條件,“或”條件可以寫成如下:
from django.db.models import Q User.objects.filter(Q(username__contains=name)|Q(password__contains=pass))
2.增加
使用:
obj = User(username=name,password=passwd) obj.save()
來向User表中增添對象
3.刪除
使用:
User.objects.filter(username=name).delete()
或者
user = User.objects.get(username=name) user.delete()
來刪除某個對象
4.更新
使用
user = User.objects.get(username=name) user.password = newpass user.save()
或者
User.objects.filter(username=name).update(password=newpass)
來更新某個對象。
看完了這篇文章,相信你對在Django開發中默認的數據庫是什么有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。