Django 超级用Admin的创建与使用

一、Admin使用
进入自带Admin后台步骤:
1、创建超级用户 python manage.py createsuperuser
在这里插入图片描述
2、注册model类
在这里插入图片描述
3、访问 admin 管理页面
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
修改成中文
在这里插入图片描述
二、字段属性和选项
1.字段属性
使用时需要引入django.db.models包,字段类型如下:
在这里插入图片描述
在这里插入图片描述
注意:ImageField()字段需要借助pillow模块才能使用,因此需要先下载pillow模块。Python3.6后 使用PIL模块。
在这里插入图片描述
2.选项
通过选项实现对字段的约束,选项如下:
在这里插入图片描述
在这里插入图片描述三、常用方法
1、all(): 查询所有结果
(1)返回 QuerySet 列表对象。获取对象时,通过索引或者遍历

2、filter(**kwargs): 它包含了与所给筛选条件相匹配的对象
(1)返回 QuerySet 列表对象。获取对象时,通过索引或者遍历
(2)可以传入多个关键字,底层的sql 使用and 来连接多个条件

3、get(**kwargs):返回与所给筛选条件相匹配的对象,
(1)返回结果有且只有一个,如果符合筛选条件的对象超过一个或者没有都会 抛出错误。
(2)返回具体的某个模型类的对象,而不是QuerySet列表对象。

4、first():返回第一条记录
(1)返回具体的某个模型类的对象,而不是QuerySet列表对象。

在这里插入图片描述
5、last():返回最后一条记录
(1)返回具体的某个模型类的对象,而不是QuerySet列表对象。
6、exclude(**kwargs):它包含了与所给筛选条件不匹配的对象
在这里插入图片描述
7、order_by(*field): 对查询结果排序
在这里插入图片描述
(1)根据多个字段进行排序
在这里插入图片描述
(2)反向排序可以在字段名称前面加上“-”(减号)
在这里插入图片描述
(3)在模型中指定默认排序
在这里插入图片描述
8、reverse(): 对查询结果反向排序,
(1)请注意reverse()通常只能在具有已定义顺序的QuerySet上调用(在model 类的Meta中指定ordering或调用order_by()方法)。
在这里插入图片描述
9、values(*field): 返回一个ValueQuerySet(一个特殊的QuerySet),运行后得到的并不是一系列model的实例化对象,而是一个可迭代的字典序列
在这里插入图片描述
10、values_list(*field): 它与values()非常相似,它返回的是一个元组序列,
在这里插入图片描述
11、count(): 返回数据库中匹配查询(QuerySet)的对象数量。
在这里插入图片描述
12、exists(): 如果QuerySet包含数据,就返回True,否则返回False
在这里插入图片描述
总结:
1.返回对象方法get()、first()、last()
2.返回QuerySet对象方法
all()、filter()、exclude()、order_by()、reverse()、
values() 返回一个可迭代的字典序列。
values_list() 返回一个可迭代的元祖序列。
3.返回Boolean值方法 exists()
4.返回数字的方法count()
四、切片数据
一个常见的需求是只查找固定数量的行。假如数据库中有几千个出版社记录,但是只想显示第一个。为
此,可以使用 Python 标准的列表切片句法:
Publisher.objects.order_by(‘name’)[0]
<Publisher: Apress>
得到的 SQL 语句基本如下:
SELECT id, name, address, city, state_province, country, website
FROM books_publisher
ORDER BY name
LIMIT 1;

类似地,可以使用 Python 的范围切片句法检索数据子集:
Publisher.objects.order_by(‘name’)[0:2]
这样得到的是两个对象,基本上相当于下述 SQL 语句:
SELECT id, name, address, city, state_province, country, website
FROM books_publisher
ORDER BY name
OFFSET 0 LIMIT 2;
在这里插入图片描述
四、双下划线方法
5.xx__lt : 小于
例如:id__lt =2,获取 id小于2的所有记录。
在这里插入图片描述
扩展: xx_lte = 2 小于等于2
6.xx_gt : 大于
在这里插入图片描述
扩展:
(1).xx_gte=30 大于等于30
(2).查找大于等于20 小于等于30的所有记录。
在这里插入图片描述
7.xx_in: 包含某些值
例如获取年龄是11,32的记录
在这里插入图片描述
扩展:不包含
在这里插入图片描述
8.xx_contains(): 包含某个字符的记录
在这里插入图片描述
扩展: xx_icontains() 忽略大小写
在这里插入图片描述
9.xx_range(): 查找范围
查找年龄在20 至 30之间的所有记录
在这里插入图片描述
10.xx_startswith : 获取 以 xx开头的记录
在这里插入图片描述
11.endswith : 获取以xx结尾的记录
在这里插入图片描述
12.date类型字段可以根据年月日进行过滤
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值