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. Python标准库之shelve模块(序列化与反序列化)

    shelve模块是一个简单的key,value将内存数据通过文件持久化的模块,可以持久化任何picklel可支持的Python数据格式. 序列化 序列化源代码: import shelve impor ...

  2. django css文件导入,模板继承

    今天写了一下模板继承 刚开始感觉还行,也挺简单的 当只有html的时候还是能继承到的,代码如下.首先在父html文件里加入 {% block content %} {% block extracss ...

  3. C++-POJ1995-Raising Modulo Numbers[快速幂]

    #include <cstdio> typedef long long ll; int quick_pow(ll a,ll b,ll mod){ ll ans=; ))ans=(ans*a ...

  4. Ubuntu18.04 一条命令安装caffe问题

    由于caffe安装坑很多,而且caffe框架很久不更新了,微调对框架影响不大,所以对与ubuntu18.04在caffe官网提供了一条命令安装,避免很多踩坑痛苦. CPU的一条命令安装: sudo a ...

  5. [TJOI2017] DNA - 后缀数组,稀疏表

    [TJOI2017] DNA Description 求模式串与主串的匹配次数,容错不超过三个字符. Solution 枚举每个开始位置,进行暴力匹配,直到失配次数用光或者匹配成功.考虑到容错量很小, ...

  6. 基于pyqt5的图片素材批量处理工具

    功能 分辨率的批量转换,文件夹递归查找 像素偏移量批量调整,文件夹单层查找 画布的大小的批量进行调整,不进行缩放,文件夹单层查找 界面 通过PyUIC生成的代码 # -*- coding: utf-8 ...

  7. 第四十二篇 入门机器学习——Numpy的基本操作——索引相关

    No.1. 使用np.argmin和np.argmax来获取向量元素中最小值和最大值的索引 No.2. 使用np.random.shuffle将向量中的元素顺序打乱,操作后,原向量发生改变:使用np. ...

  8. Java-POJ1003-Hangover

    题目大意: 给出一个浮点数a,求出使得 不等式 1/2 + 1/3 + ... + 1/(n+1) ≥ a 成立的最小值 大水题,由于数据范围小,给出了确认上界5.20,满足二分答案 但是我懒啊,直接 ...

  9. 常见css属性

    div {            width: 100px;            height: 100px;            /* 表示行高 */            line-heigh ...

  10. PHP随机生成名字 电话号码

    封装函数 随机生成电话号码 function generate_name($count,$type="array",$white_space=false) {$arr = arra ...