Django 数据库表单查询

from django.shortcuts import render
from django.http import HttpResponse
from django.template import loader,Context
from blog.models import Person

# Create your views here.

def student_list(request):
    t = loader.get_template('student_list.html')
    #studentList = Person.objects.all().order_by('age')  #过滤
    studentList = Person.objects.all().filter(age__gt = 18)  #tiaojian > 18 (age = 18) = 18 (age__gte = 18) >= 18
    c = Context({ 'studentList':studentList })
    return HttpResponse(t.render(c))

常用查询函数:
get() 获取单个符合条件的, 没有获取到返回空 获取到多个报错
all() 获取所有符合条件的
filter() 等于 ,filter(a = ‘222’) 筛选出a = ‘222’ filter(name__in = [‘xiaoming’,’xiaohong’])
exclide() 于filter相反
order_by() 排序 , 对上面筛选到的结果进行排序order_by(‘-age’) 逆向排序
distinct().values(‘field_name’) 去点掉重复的
[n:m] 起始与偏移量,[0:10] 取出1~10

常用查询方法:
这里写图片描述


修改数据库值:
修改 id = 1 的信息

from django.http import HttpResponse
from django.template import loader,Context
from blog.models import Person

# Create your views here.

def student_list(request):
    t = loader.get_template('student.html')

    newrow = Person(name = 'LiMing',age = 18,initime = '2016-02-02')
    newrow.save() # 等同于 insert 插入一行

    student = Person.objects.get(id = 2)
    student.delete() #删除 id = 2 的
    #Person.objects.all().delete()  #删除所有

    studentList = Person.objects. filter(age_lt = 30).update(name = 'xyz') #把年龄小于30 岁的人的name改为 xyz  
    student = Person.objects.get(id = 1)   #获得的是单个数据 不是数组
    student.name = 'Tom'
    student.age = '29'
    student.save()              #保存

    c = Context({ 'student':student })
    return HttpResponse(t.render(c))
--------------------------------------------------------------------------
studentList = Person.objects. filter(age_lt = 30).update(name = 'xyz') 相当于:
update Person set name = 'xyz' where age < 30
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值