Django裏對數據庫基本增刪改查操作

urls.py文件裏的內容---實現url路由

from django.contrib import admin
from django.urls import path,include
from app01 import views
urlpatterns = [
    path('credata/', views.credata),
]

views.py文件裏方法定義

from django.shortcuts import HttpResponse
import pymysql
pymysql.install_as_MySQLdb()
from app01 import models
def credata(request):
    #創建插入數據
    # models.UserInfo.objects.create(
    #     username='song',
    #     password='123',
    #     age='18'
    # )

    #查詢數據
    # a =models.UserInfo.objects.filter(username='root')
    # for i in a:
    #     print(i.id,i.username,i.password,i.age)

    #查到數據後進行刪除
    # models.UserInfo.objects.filter(username='root').delete()

    #更新數據,找到所有的列,把密碼改成123456
    models.UserInfo.objects.all().update(password='123456')
return HttpResponse('OK')

創建好類之後,想要使創建的表在數據庫裏生效,得在命令行執行
python manage.py makemigrations
以上命令表示構建數據結構
python manage.py migrate
上條命令表示執行操作到數據庫。

插入數據的時候自動添加創建時間
在modles.py 文件裏

class UserInfo(models.Model):
    username = models.CharField(max_length=32)
    password = models.CharField(max_length=64)
    age = models.CharField(max_length=32)
    ctime = models.DateTimeField(auto_now_add=True,none=True)
    utime = models.DateTimeField(auto_now=True,none = True)

auto_now_add=True表示在生成數據的時候自動記錄創建時間
auto_now=True 表示在操作數據的時候自動記錄操作時間

但是下面這句是不能更新操作記錄時間的
models.UserInfo.objects.filter(username="wang").update(password='qwe123')

要想讓自動更新時間生效得在views.py文件裏定義方法下使用以下語句

    a = models.UserInfo.objects.filter(username="wang").first()
    a.password= 'asdasd'
    a.save()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章