django_view操作数据库

1 create

def add_area(request):
    area = Area.objects.create(name='commom',description='a commom area',manager='vicuic')
    return HttpResponse('added successfully')
#具体的实现上,一般是web端使用post传递参数,然后再输入数据库,这里为了简便,所以直接设定值

  

2 select

def list_area(request):
    areas = Area.objects.all()
    return render(request,'mall/list_area.html',{'areas':areas})
#需要在网页上列出所有的信息,就从数据库中取出数据,然后用模板渲染并返回
blog_list = BlogPost.objects.all().order_by('-timestamp')
#查询结果按照时间戳降序排列
#去掉-为升序
lines = models.UserInfo.objects.filter(username='jab',pwd='123123')
#filter过滤,web端输入过滤参数,然后view负责从数据库中提取数据并返回

  

ret = list(config.objects.filter(id=id).values('dir'))[0]
#objexts这个对象使用filter,返回查询集,然后values方法表示只要dir字段
#对查询集使用列表转换,然后取第一个数据

  

3 update

def update_area(request):
    user = User.objects.get(username='vici')
    Area.objects.filter(name='lovely').update(manager=user)
    return HttpResponse('updated!')
#Area的manager字段为User的外键,先获取特定的User行赋值给user,然后在Area的行中做行更新。
#user是一个class,这里用get获取,才能将user作为外键赋值给manager
#如果用filter则返回一个查询集。无法赋值

  

4 delete

def delete_area(request):
    # Area.objects.filter(name='lovely').delete()
    User.objects.filter(username='vici').delete()
    return HttpResponse('deleted!')
#由于Area的manager是User的外键,并且设置了级联删除,所以,当删除User中的一条数据,Area中引用这条数据的行都被删除了

 

转载于:https://www.cnblogs.com/jabbok/p/9848741.html

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值