在Django中实现添加user到group并查看
一、添加user到group
第一种:
user.groups.add(1) # add by id
第二种:
from django.contrib.auth.models import Group my_group = Group.objects.get(name='my_group_name') my_group.user_set.add(your_user)
二、查看group里面的用户
第一种:
group = Group.objects.get(name='blogger') users = group.user_set.all()
第二种:
User.objects.filter(groups__name='blogger')
第三种:
perm = Permission.objects.get(codename='blogger') users = User.objects.filter(Q(groups__permissions=perm) | Q(user_permissions=perm) ).distinct()
以上这篇在Django中实现添加user到group并查看就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
在Django中管理Users和Permissions以及Groups的方法
管理认证系统最简单的方法是通过管理界面.然而,当你需要绝对的控制权的时候,有一些低层 API 需要深入专研,我们将在下面的章节中讨论它们. 创建用户 使用 create_user 辅助函数创建用户: >>> from django.contrib.auth.models import User >>> user = User.objects.create_user(username='john', ... email='jlennon@beatles.com', ...
-
Django中使用group_by的方法
本文实例讲述了Django中使用group_by的方法.分享给大家供大家参考.具体分析如下: 在Django中怎样使用group_by语句呢?找了很多资料,都没有看到好的,在这里分享两种方法给大家: 首先,我们先建一个简单的模型. class Book(models.Model): name = models.CharField(u'书名',max_length=255,db_index = True) author = models.CharField(u'作者',max_length=255
-
对Django中内置的User模型实例详解
User模型 User模型是这个框架的核心部分.他的完整的路径是在django.contrib.auth.models.User. 字段 内置的User模型拥有以下的字段: 1.username: 用户名.150个字符以内.可以包含数字和英文字符,以及_.@.+..和-字符.不能为空,且必须唯一! 2.first_name:歪果仁的first_name,在30个字符以内.可以为空. 3.last_name:歪果仁的last_name,在150个字符以内.可以为空. 4.email:邮箱.可以为空
-
在Django中实现添加user到group并查看
一.添加user到group 第一种: user.groups.add(1) # add by id 第二种: from django.contrib.auth.models import Group my_group = Group.objects.get(name='my_group_name') my_group.user_set.add(your_user) 二.查看group里面的用户 第一种: group = Group.objects.get(name='blogger') use
-
Django中模型Model添加JSON类型字段的方法
本文实例讲述了Django中模型Model添加JSON类型字段的方法.分享给大家供大家参考.具体如下: Django里面让Model用于JSON字段,添加一个JSONField自动类型如下: class JSONField(models.TextField): __metaclass__ = models.SubfieldBase description = "Json" def to_python(self, value): v = models.TextField.to_pytho
-
Django中针对基于类的视图添加csrf_exempt实例代码
在Django中对于基于函数的视图我们可以 @csrf_exempt 注解来标识一个视图可以被跨域访问.那么对于基于类的视图,我们应该怎么办呢? 简单来说可以有两种访问来解决 方法一 在类的 dispatch 方法上使用 @csrf_exempt from django.views.decorators.csrf import csrf_exempt class MyView(View): def get(self, request): return HttpResponse("hi"
-
如何在django中添加日志功能
官方文档 猛戳这里 在settings中配置以下代码 #LOGGING_DIR 日志文件存放目录 LOGGING_DIR = "logs" # 日志存放路径 if not os.path.exists(LOGGING_DIR): os.mkdir(LOGGING_DIR) import logging LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'formatters': { #格式化器 'standard'
-
django xadmin中form_layout添加字段显示方式
需求: 用的是django的框架,想显示一个基本固定的页面,用到了form_layout 上图的ROW中添加的是model中的字段名,可以显示对应的内容,如果想一行显示多个,可以写成 Row('Flow_type', 'Demand_name'),效果如下图(图片是别人的,借鉴一下) 想正常的显示,还有最后一步就是在把你需要展示的ROW中的字段,放在fields中(部分截取了一下) 补充知识:xadmin 编辑页隐藏字段 引用xadmin 的fieldSet 对不想显示的字段添加**{"styl
-
如何在Django中添加没有微秒的 DateTimeField 属性详解
前言 今天在项目中遇到一个Django的大坑,一个很简单的分页问题,造成了数据重复.最后排查发现是DateTimeField 属性引起的. 下面描述下问题,下面是我需要用到的一个 Task Model 基本定义: class Task(models.Model): # ...... 省略了其他字段 title = models.CharField(max_length=256, verbose_name=u'标题') created_at = models.DateTimeField(auto_
-
对Django中的权限和分组管理实例讲解
权限 Django中内置了权限的功能.他的权限都是针对表或者说是模型级别的.比如对某个模型上的数据是否可以进行增删改查操作.他不能针对数据级别的,比如对某个表中的某条数据能否进行增删改查操作(如果要实现数据级别的,考虑使用django-guardian).创建完一个模型后,针对这个模型默认就有四种权限,分别是增/删/改/查.可以在执行完migrate命令后,查看数据库中的auth_permission表中的所有权限. 字段: content_type_id:是一个外键,参考表是django_co
-
Django中的Model操作表的实现
Model 操作表 一.基本操作 # 增 models.Tb1.objects.create(c1='xx', c2='oo') #增加一条数据,可以接受字典类型数据 **kwargs obj = models.Tb1(c1='xx', c2='oo') obj.save() dic = {'c1':'xx','c2':'oo'} models.Tb1.objects.create(**dic) #Form的产出结果是一个字典,可以根据这个Form的字典和**直接在数据库创建数据 # 查 mod
-
Django 权限管理(permissions)与用户组(group)详解
如果你只是利用Django开发个博客,大部分用户只是阅读你的文章而已,你可能根本用不到本节内容.但是如果你想开发一个内容管理系统,或用户管理系统,你必需对用户的权限进行管理和控制.Django自带的权限机制(permissions)与用户组(group)可以让我们很方便地对用户权限进行管理.小编我今天就尝试以浅显的语言来讲解下如何使用Django自带的权限管理机制. 什么是权限? 权限是能够约束用户行为和控制页面显示内容的一种机制.一个完整的权限应该包含3个要素: 用户,对象和权限,即什么用户对
随机推荐
- Prototype Function对象 学习
- 用正则表达式批量为a增加target=''_blank''新窗口打开的方法
- Java中的Web MVC简介_动力节点Java学院整理
- IOS本地日志记录解决方案
- oracle数据库下统计专营店的男女数量的语句
- python实现爬虫统计学校BBS男女比例之多线程爬虫(二)
- ASP.NET配置KindEditor文本编辑器图文教程
- PHP编写登录验证码功能 附调用方法
- Python使用迭代器捕获Generator返回值的方法
- node.js中使用socket.io的方法
- Android仿支付宝支付密码输入框
- Android天气预报之基于HttpGet对象解析天气数据的方法
- javascript 密码强弱度检测万能插件
- linux网络参数配置方法详解
- C语言 文件的随机读写详解及示例代码
- 用C++面向对象的方式动态加载so的方法
- c#递归生成XML实例
- android 获取屏幕尺寸
- node下使用UglifyJS压缩合并JS文件的方法
- 不到20行代码用Python做一个智能聊天机器人