zoukankan      html  css  js  c++  java
  • Django 基础(二)

    1. 多对多表之间的保存

    方式一:

        u2 = User.objects.get(id=2)
        g2 = Group.objects.get(id=2)
        u2.group_relation.add(g2)    #在关系表中存入关联数据

    方式二:

    name = request.POST.get('name',None)
    username = request.POST.get('username',None)
    password = request.POST.get('password',None)
    gplist = request.POST.getlist('groupId')
    user = Users.objects.create(name=name,username=username,password=password)
    user.save()
    glist = UserGroup.objects.filter(id__in=gplist)
    user.groupId.add(*glist)
    # 或
    #for gord in gplist:
    #    group = UserGroup.objects.get(id=gord)
    #    user.groupId.add(group)

    方式三:

        u2 = User.objects.get(id=2)
        g2 = Group.objects.get(id=2)
        g2.user_set.add(u2)    #无多对多字段方添加关联, _set 是固定搭配,它的前面是多对多字段所在类的类名的小写
    

    2. 多对多表之间的数据获取

        u2 = User.objects.get(id=2)
        g2 = Group.objects.get(id=2)
        print(u2.group_relation.all())
        print(u2.group_relation.all()).filter(id=1)
        print(u2.group_relation.all()).filter(caption='CEO')
    

    3. Session

    a)	request.session[‘is_login’] = True  用session存值
    b)	is_login = request.session.get(‘is_login’,None)  获取session的值
    c)	del request.session[‘is_login’]	销毁session
    d)	settings.py中设置 SESSION_COOKE_AGE=10设置session10秒钟后过期自动销毁
    	i.	SESSION_EXPIRE_AT_BROWSER_CLOSE 设置session是否随着浏览器关闭而销毁
    

    4. Cooke

    response = render_to_response(‘index.html’,ret)
    response.set_cookie(‘key’, ‘value’)   #设置cooke
    print request.COOKIES   #获取cookie
    request.COOKIES.get(‘page_num’,10)
    
  • 相关阅读:
    POLARDB与其他关系型数据库对比
    美团关于分布式ID实践方案
    CRM、DMP、CDP概念解析
    TIDB简介
    美团关于分布式ID实践方案细节
    美团在TIDB方面的实践
    设计模式之桥梁模式
    【转】Hibernate和IBatis对比
    Eclipse插件安装
    【转】揭开正则表达式的神秘面纱
  • 原文地址:https://www.cnblogs.com/crucial/p/6242643.html
Copyright © 2011-2022 走看看