为django平台生成模拟用户,建立用户组,并将用户加入组
2024-10-19 02:25:33
书接上篇BLOG。
当我们可以用manage.py自定义命令来生成模拟数据时,
我们面对的就是如何操作ORM的问题了。
这两天,我为我们的内部系统的所有数据表,都生成了模拟数据。
有几个心得,记录于此。
一,将命令拆分
因为一个fake_command文件太大了,所以我们要将函数放在不同的文件里,便于管理。
from django.core.management.base import BaseCommand from .fake_user import fake_user_data class Command(BaseCommand): help = 'It is a fake command, Import init data for test' def handle(self, *args, **options): self.stdout.write(self.style.SUCCESS('begin fake data')) fake_user_data() self.stdout.write(self.style.SUCCESS("end fake data"))
二,生成模拟用户,建立用户组,并将用户加入组
这时要注意,django orm里创建用户,用的是create_user及create_superuser方法。
而将用户加入用户组,则最好用下面的admin_group.user_set.set(admin_users)操作。
from django.contrib.auth.models import User, Group def fake_user_data(): User.objects.all().delete() Group.objects.all().delete() print('delete all user and group data') User.objects.create_user(username='Dylan', password="password") User.objects.create_user(username='Tyler', password="password") User.objects.create_user(username='Kyle', password="password") User.objects.create_user(username='Dakota', password="password") User.objects.create_user(username='Marcus', password="password") User.objects.create_user(username='Samantha', password="password") User.objects.create_user(username='Kayla', password="password") User.objects.create_user(username='Sydney', password="password") User.objects.create_user(username='Courtney', password="password") User.objects.create_user(username='Mariah', password="password") User.objects.create_user(username='tom', password="password") User.objects.create_user(username='mary', password="password") admin = User.objects.create_superuser('admin', 'admin@demon.com', 'xxx') root = User.objects.create_superuser('root', 'root@demon.com', 'xxx') kevin = User.objects.create_superuser('kevin', 'kevin@abc.com', 'xxx') admin_group = Group.objects.create(name='admin') Group.objects.create(name='test') Group.objects.create(name='dev') Group.objects.create(name='operate') admin_users = [admin, root, kevin] admin_group.user_set.set(admin_users) print('create all user and group data')
最新文章
- centos环境搭建
- web工程关于500错误
- java--UDP屏幕广播代码
- 深入理解Java虚拟机(一)、Java内存区域与内存溢出异常
- Caffe学习系列(2):数据层及参数
- 【云计算】ubuntu下docker安装配置指南
- JQuery源码之“对象的结构解析”
- hdu3072 强连通+最小树形图
- Oracle用户密码过期问题解决
- vim 编辑器笔记
- UIView之常用方法
- NavMeshAgent 动态加载障碍物
- Javascript 方法apply和call的差别
- C++类型转化:static_cast,reinterpret_cast,dynamic_cast,const_cast
- 【Spring】6、注解大全
- windows----------Windows10 远程桌面连接失败,报CredSSP加密oracle修正错误解决办法
- CentOS7 安装极点五笔输入法
- 使用 JavaScript 拦截和跟踪浏览器中的 HTTP 请求
- css实现布局
- HTTP Status 500 - Unable to create directory
热门文章
- linux命令总结dd命令详解
- python3中SSLError错误处理
- 使用 Collections 实现排序 sort方法 对List 实体类实现Comparable类 示例
- 如何创建一个 Lua 模块
- 动态规划:树形DP-选课(树形背包)
- 判断android是否是debug
- -webkit-css
- IE6 下 DD_belatedPNG 引发的血案
- Macaca(一) - 环境配置
- thinkphp报错Call to undefined method app\index\controller\Index::fetch()