• 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)
    
  • 相关阅读:
    bzoj1093[ZJOI2007]最大半连通子图(tarjan+拓扑排序+dp)
    tarjan强连通分量模板(pascal)
    二分图最小顶点覆盖数=最大匹配数的证明
    poj3041 Asteroids(二分图最小顶点覆盖、二分图匹配)
    bzoj4196[Noi2015]软件包管理器
    AEAI Portal 权限体系说明
    未来70%的人类将会失业
    工作中高效学习的方法
    如何正确的做事
    你真的会沟通吗? --下部
  • 原文地址:https://www.cnblogs.com/crucial/p/6242643.html
Copyright © 2020-2023  润新知