7.2 create 创建管理员用户:
python manage.py run server
python manage.py createsuperuser
password :12345678912
7.3 admin.py 注册模型:
from .models import Student,Grade class Register(admin.ModelAdmin):
7.3.1 #列表页属性
list_display 展示数据库字段名称包含字段列
list_filter过滤器过滤根据某个字段
search_fields = ['user_name'] # 查询筛选字段依据字段名称,此字段不可以为外键类列
list_per_page = 2 #数据库分页数量2 row 为一页
# 添加修改页(注意fields和fieldsets不可以同时使用,只能存在以一个)
#排序,只针对可编辑列,展示,对于pk不允许编辑
#fields = ['user_name','is_man','is_delete','stu_id']
#分组属性,列表顺序就是页面展示顺序
fieldsets = [("basic",{"fields":["user_name","is_man"]}),
("junior",{"fields":["is_delete","stu_id"]})] #注册类
admin.site.register(Student,RegisterStudent)
admin.site.register(Grade,RegisterGrade)
7.4关联对象
在admin.py里新建关联对象class并且继承admin.TabularInline类,引入需要被关联的class model,以及关联extra rows数量
class StudentGradeInfo(admin.TabularInline):
# 声明需要关联模型对象属性赋值
model = Student
# 关联几个row
extra = 2
在需要展示引入模型的主模型中引入extra 的model对象:
inlines = [StudentGradeInfo]
页面布尔表达式自定义:
class RegisterStudent(admin.ModelAdmin):
#重新定义属性列展示名称函数
def zh_sex(self):
if self.is_man:
return "True"
else:
return "False" def delete_condition(self):
if self.is_delete:
return "yes"
else:
return "no"
#web展示字段缩写
zh_sex.short_description = "性别"
delete_condition.short_description = "在校"
#动作展示位置调整
actions_on_bottom = True
actions_on_top = False
# check box 选中计数显示,false不显示,true 显示
actions_selection_counter = False
#引入重新定义的展示列为函数对象替换原有字符串如zh_index,delete_condition
list_display = ['pk', 'user_name', zh_sex, 'createObj_date', delete_condition, 'stu_id']
FAQ:
Django 数据库建表的时候 No migrations to apply原因出现和解决
rm -rf 0001_initial.py 进入数据库delete from django_migrations where app="yourapplicationName";
执行: python manage.py makemigrations
python manage.py migrate
检查结果显示success:
Running migrations:
Applying app.0001_initial... OK
one to one
one to many 与主键外键关系
一对一则需要sub table pr和Foreignkey 共用一个字段
一对多,sub table pr 和 Foreignkey 分开
主表的主键最好外键到子表的外键上,不能外键到sub table的pk column
FAQ:主表,sub 表删除顺序:必须先删除子表在删除主表由于子表外附与主键就像橘子皮附着在橘子肉上一样,
想吃橘子必须先去皮,否则报错如下情况:其次如果想删除主表的数据而不是drop表并且继续保留主表sub表数据可以先备份子表再删除主表数据就可以了但是要建立级联删除关系:
需要在创建多对一的关系的,需要在Foreign的第二参数中加入on_delete=models.CASCADE 主外关系键中,级联删除,也就是当删除主表的数据时候从表中的数据也随着一起删除
mysql> drop table app_grade;
ERROR 3730 (HY000): Cannot drop table 'app_grade' referenced by a foreign key constraint 'app_student_stu_id_id_eb16ae0c_fk_app_grade_grade_id' on table 'app_student'.
mysql> drop table app_student;
Query OK, 0 rows affected (0.02 sec)
mysql> drop table app_grade;
Query OK, 0 rows affected (0.07 sec)

  

django 创建管理员用户的更多相关文章

  1. Django 创建超级用户

    Django自带的后台管理是Django明显特色之一,可以让我们快速便捷管理数据.后台管理可以在各个app的admin.py文件中进行控制 #创建超级用户 python manage.py creat ...

  2. django创建超级用户

    终端输入 python3 manage.py createsuperuser 按照提示进行操作即可 不输入用户名会给你默认一个用户名,输入密码是在原处不动的,其实已经在输入了. 创建超级用户是为了能够 ...

  3. 工作小记[csv文件、admin中filed与list_display区别、ModuleNotFoundError: No module named'xxx'、django创建admin用户]

    CSV-Comma Separated Values,CSV文件可以直接用Excel表格打开,如果用文本打开属性之间用逗号隔开,Python有直接操作CSV文件的函数. fileds字段控制“修改添加 ...

  4. Django模型与创建管理员用户

    默认情况下, 配置使用SQLite:

  5. Django创建管理员账号

    python manage.py createsuperuser 创建一个管理员账号 输入账号:admin 输入邮箱:123456789@qq.com 输入密码:test123456 二次确认 pyt ...

  6. Django创建超级用户出现错误

    如果运行python manage.py createsuperuser出现一大堆错误代码 解决方案: 1.检查settings.py中的DATABASE配置确定正确性 2.执行python mana ...

  7. mongodb创建管理员用户

    db.createUser({user: "admin",pwd: "xxx",roles: ["root"]});

  8. django系列4 :创建管理员

    以下复制粘贴自官网 创建管理员用户¶ 首先,我们需要创建一个可以登录管理站点的用户.运行以下命令: /  $ python manage.py createsuperuser 输入所需的用户名, ...

  9. SqlServer:SqlServer(服务器磁盘监控,创建管理员账号分配权,添加链接服务器,查询CPU,查询内存)

    1.服务器磁盘监控 (1)总链接服务上开启所有链接服务器的RPC: ----------------------总链接服务器上面,开启每个服务器的RPC --exec sp_serveroption ...

随机推荐

  1. Mac下Charles的安装和配置

    一.安装与破解 官网下载,破解方法参考其他,此处略 二.配置 1.电脑端安装 Charles 的根证书 注意:此时钥匙串默认为不信任,需设置为始终信任 2.配置代理:勾选enable transpre ...

  2. OpenCV: “vector”: 未声明的标识符和Vector不是模板

    漏写using namespace std: 会出现此错误“vector”: 未声明的标识符或者是将“vector”写成‘Vector’会出现Vector不是模板的错误:改正即可

  3. php中构建树状图

    /** * 指定根层级的树状图 * @param array $list 初始数组 * @param int $root 最上级一条数据的id * @param string $pk 每一条数据的id ...

  4. C++-POJ2955-Brackets[DP]

    题意就是,找出最长合法子括号序列 容易想到设f[l][r]为l~r的最长合法子括号序列的长度 然后从短的状态往长的状态枚举,不断更新答案就可以了 //#include<bits/stdc++.h ...

  5. optim.SDG 或者其他、实现随机梯度下降法

    optim.SDG 或者其他.实现随机梯度下降法 待办 实现随机梯度下降算法的参数优化方式 另外还有class torch.optim.ASGD(params, lr=0.01, lambd=0.00 ...

  6. linux虚拟机内网突然不通了

    之前安装后 内网,外网测试通常的,今天有开发反应es服务不通了  后来到服务器查看了一下,es和同步服务都停了 重新启动,发现同步服务无法启动,网络问题 报错信息“Failed to initiali ...

  7. [SHOI2016] 黑暗前的幻想乡 - 矩阵树定理,容斥

    #include <bits/stdc++.h> using namespace std; #define int long long const int N = 20; const in ...

  8. SigXplorer设置延时及Local_Global

    通过SigXplorer设置绝对延时和相对延时及对Local-Global的理解 一.基本理解 (感觉可能有偏差) 在于博士的教程第44和45讲中,分别对绝对延时和相对延时进行了设置,通过SigXpl ...

  9. OpenGL基本图元类型

    GL_POINTSGL_LINESGL_LINE_STRIPGL_LINE_LOOPGL_TRIANGLESGL_TRIANGLE_STRIPGL_TRIANGLE_FANGL_QUADSGL_QUA ...

  10. webrtc博客收藏

    <使用WebRTC搭建前端视频聊天室——入门篇><使用WebRTC搭建前端视频聊天室——信令篇><使用WebRTC搭建前端视频聊天室——点对点通信篇><使用W ...