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. Jupyter Notebook快捷键总结

    1. Jupyter Notebook有两种mode Enter:进入edit模式 Esc:进入command模式 2. Command命令快捷键: A:在上方增加一个cell B:在下方增加一个ce ...

  2. HashMap,ConcurrentHashMap原理。Collection(list,set,map集合区别)。和CAS

    collection里面有什么子类?(list和set是实现了collection接口的.) List: 1.可以允许重复的对象(可重复,有序集合).2.可以插入多个null元素.3.常用的实现类有 ...

  3. 学习 Rust cookbook 之算法篇(algorithm)

    原文作者:suhanyujie 永久链接:https://github.com/suhanyujie/rust-cookbook-note 博客链接:https://ishenghuo.cnblogs ...

  4. HTML网站右键禁用F12代码 屏蔽审查元素 防止修改页面代码

    <script>//禁止右键 function click(e) { if (document.all) { if (event.button==2||event.button==3) { ...

  5. CF432D Prefixes and Suffixes

    CF432D Prefixes and Suffixes 题意 给你一个长度为n的长字符串,"完美子串"既是它的前缀也是它的后缀,求"完美子串"的个数且统计这些 ...

  6. 以管理员身份运行 Microsoft Edge 时不支持登录

    之前一直用 edge chromium bate版本 一直不能登录 今天试了正式版 还是这样 然后百度一大堆没找到解决方案 设置兼容性为windown7 是可以的 但是 UI显示会有问题 再次打开 又 ...

  7. HDU 6740 kmp最小循环节

    题意:给一个无线循环小数的前几位,给n,m 选择其中一种出现在前几位的循环节方式(a个数),循环节的长度b 使得n*a-m*b最大 样例: 2 1 12.1212 输出 6 选择2,2*1-1*1=1 ...

  8. 【Python】蟒蛇绘制(三种方式+import用法)

    第一种方式不会出现函数重名问题,而第二种会.可以用第三种解决问题 方式一: #pythondraw.py import turtle #引用 绘制(海龟)库 turtle.setup(650,350, ...

  9. HTML学习(6)段落

    HTML段落使用<p>标签定义,浏览器会自动地在段落的前后添加空行. 如果不希望产生空行,可以使用<br />换行标签. 在元素内容中,连续的空格会被浏览器认格式化为一个空格, ...

  10. java.sql.SQLException: Field 'login_date' doesn't have a default value解决方法

    在做web项目的insert插入操作的时候, 由于对于一个字段没有插入数据, xml文件写法如下: <insert id="savePremissUser" > ins ...