亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

在Django開發中默認的數據庫是什么

發布時間:2020-11-25 11:52:35 來源:億速云 閱讀:698 作者:小新 欄目:編程語言

小編給大家分享一下在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開發中默認的數據庫是什么有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

南康市| 武强县| 霍山县| 循化| 永宁县| 丰宁| 洪雅县| 夏邑县| 六安市| 阆中市| 平邑县| 张掖市| 卢湾区| 昭觉县| 锡林郭勒盟| 武胜县| 云林县| 门源| 商南县| 高碑店市| 大余县| 漯河市| 晋宁县| 筠连县| 广东省| 汉川市| 潢川县| 衡东县| 绍兴县| 依兰县| 集贤县| 莎车县| 礼泉县| 崇阳县| 延寿县| 南部县| 鸡西市| 木里| 桐城市| 神木县| 凤台县|