温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Django里对数据库基本增删改查操作

发布时间:2020-08-19 14:49:26 来源:网络 阅读:1736 作者:851096287 栏目:编程语言

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()
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI