比如说有a b c三张表关系如下 a是b的父表,b是c的父表
a <----- b <------c
Module <----- privilegegroup <---- privilege
2.获取多级字表全部
>>> modules = Module.objects.all()
>>> for i in modules:
... for j in i.privilegegroup_set.all():
... for k in j.privilege_set.all():
... print k.privilege_name
...
用户添加
用户编辑
用户列表
用户状态变更
重置密码
角色添加
角色编辑
角色列表
角色状态变更
模块添加
模块编辑
模块列表
模块状态变更
权限组添加
权限组编辑
权限组列表
权限组状态变更
权限添加
权限编辑
权限列表
权限状态变更
菜单添加
菜单编辑
菜单列表
菜单状态变更
日志列表
日志详情
环境分类
主机列表
添加服务器
机器授权
授权列表
分库分表
慢日志展示
跨关联关系的查询
跨关联方法:
>>> for i in eserver.objects.filter(eproject__id='2'):
... print i.host
...
10.4.89.185
10.32.32.23
>>> tt=eserver.objects.filter(eproject__id=2)
>>> for i in tt:
... print i.id,i.eproject.pname
...
31 ST
32 ST
>>> tt=eserver.objects.all()
>>> for i in tt:
... print i.id,i.eproject.pname
...
18 ST1
28 SI
29 SI
30 SI
31 ST
32 ST
a <----- b <------c
Module <----- privilegegroup <---- privilege
通过父表获取对应的子表的全部
- 1.知道具体某个值时
- >>> from apps.models import *
- >>> b=eproject.objects.get(id=1)
- >>> tmp=b.eserver_set.all()
- >>> for i in tmp:
- ... print i.host
2.获取多级字表全部
>>> modules = Module.objects.all()
>>> for i in modules:
... for j in i.privilegegroup_set.all():
... for k in j.privilege_set.all():
... print k.privilege_name
...
用户添加
用户编辑
用户列表
用户状态变更
重置密码
角色添加
角色编辑
角色列表
角色状态变更
模块添加
模块编辑
模块列表
模块状态变更
权限组添加
权限组编辑
权限组列表
权限组状态变更
权限添加
权限编辑
权限列表
权限状态变更
菜单添加
菜单编辑
菜单列表
菜单状态变更
日志列表
日志详情
环境分类
主机列表
添加服务器
机器授权
授权列表
分库分表
慢日志展示
跨关联关系的查询
- 原方法:
- >>> b=eproject.objects.get(id=2)
- >>> for i in b.eserver_set.all():
- ... print i.host
- ...
- 10.4.89.185
- 10.32.32.23
跨关联方法:
>>> for i in eserver.objects.filter(eproject__id='2'):
... print i.host
...
10.4.89.185
10.32.32.23
>>> tt=eserver.objects.filter(eproject__id=2)
>>> for i in tt:
... print i.id,i.eproject.pname
...
31 ST
32 ST
>>> tt=eserver.objects.all()
>>> for i in tt:
... print i.id,i.eproject.pname
...
18 ST1
28 SI
29 SI
30 SI
31 ST
32 ST
- from django.db import models
-
- class Blog(models.Model):<