Django 对数据库操作笔记

model.py 文件中添加

from django.db import models
class test(models.Model):
name = models.CharField(max_length=20)
# 数据类型则由CharField(相当于varchar)、DateField(相当于datetime), max_length 参数限定长度

testdb.py文件代码

from django.http import HttpResponse
from TestModel.models import test
# 数据库操作
def testdb(request):
# 添加数据 使用save函数
test1 = test(name='xufei')
test1.save()
return HttpResponse("<p>数据添加成功!</p>")

# 初始化
response = ""
response1 = ""

# 获取数据
# 通过objects这个模型管理器的all()获得所有数据行,相当于SQL中的SELECT * FROM
list = test.objects.all()
# filter相当于SQL中的WHERE,可设置条件过滤结果
response2 = Test.objects.filter(id=1)

# 获取单个对象
response3 = Test.objects.get(id=1)

# 限制返回的数据 相当于 SQL 中的 OFFSET 0 LIMIT 2;
Test.objects.order_by('name')[0:2]

# 数据排序
Test.objects.order_by("id")
# # 上面的方法可以连锁使用
Test.objects.filter(name="shuishon").order_by("id")

# 输出所有数据
for var in list:
response1 += var.name + " "
response = response1
print(response)
return HttpResponse("<p>" + response + "</p>")

# 更新数据
# 修改其中一个id=1的name字段,再save,相当于SQL中的UPDATE
test1 = test.objects.get(id=1)
test1.name = 'Google'
test1.save()
# 另外一种方式
test.objects.filter(id=1).update(name='xufei')

# 修改所有的列
test.objects.all().update(name='xxxxxx')
return HttpResponse("<p>修改成功</p>")

# 删除id=1的数据
test1 = test.objects.get(id=1)
test1.delete()
另外一种方式
Test.objects.filter(id=1).delete()

# 删除所有数据
Test.objects.all().delete()
return HttpResponse("<p>删除成功</p>")
posted @ 2020-08-12 15:51  徐12  阅读(254)  评论(0编辑  收藏  举报