91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

在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

启东市| 宜君县| 新野县| 乌苏市| 穆棱市| 海城市| 都江堰市| 谷城县| 黑山县| 天津市| 忻城县| 伊宁县| 连江县| 定陶县| 石渠县| 梁河县| 汶上县| 贡嘎县| 佛学| 拜泉县| 天长市| 辉县市| 宁化县| 宜黄县| 临泉县| 松潘县| 高要市| 长乐市| 黄山市| 财经| 横山县| 炉霍县| 孟州市| 赞皇县| 昌吉市| 韶山市| 石林| 鹤山市| 秀山| 平塘县| 鄂托克前旗|