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()