1.自定义模型管理器的时候,object就不存在了,语法:stuobj = models.Manage()
自定义模型类可以继承类并且重写类的方法。
# class studentmanager(models.manager):
# def get_queryset(self):
# return super(studentmanager, self).get_queryset().filter(isdelete=False) 继承方法并重新定义方法
设置元数据,并且设置数据库名称,和升序降序排列
class Meta:
db_table ="grade"
ordering=['id']
查询集
all()
filter(兼=值)
filter(兼=值),filter(兼=值)且的关系,即两个关系都要符合
exclude · 过滤掉符合条件的数据
value 返回列表
以上都是返回多条数据
下面是返回单个数据
get()返回一个符合条件的对象,如果没有找到,会引发异常,DoseNotExist,找到多个也会引发异常
count 返回查询集的数据个数
first()返回第一个对象
exits()有数据存在就返回true ,无就返回False
限制查询集的查询个数
在all后面加上[0:5]
不能为负数,可以以此来设计分页查询的功能。
exact()判断 对大小写名敏感
contains 用法:属性_contains=值
startswith endswith语法和上面相同,前面加上i就不区分大小写
isnull isnotnull
in 是否包含
gt 大于
gte大于等于
lt小于
lte小于等于
year month day
查询快捷 主键
聚合函数 aggragate
sum
Max
Min
Avg
Count
F对象 将一个对象的两个属性进行比较
Q对象 进行或查询Q(属性=值)|Q(属性=值) 只有一个Q对象就是用于匹配 前面加一个波浪线取反
视图
反向编码,解决方法,在include里面
HttpResponseRedirect()
Redirect(to)和render是同级的,推荐使用反向使用
session 跟踪请求
request.session['键']= 值
username =request.session.get('name',"游客“(没有取到值就是用这个值))
return render(request,‘myAp/main.html’{'username':username})
logout 清除session
set_expire(value) 默认14天
设置session过期时间
request.session.set_expire(10miao)
0 关闭浏览器就过期
None 永远不过期
return render(request,'Myapp/html',{"num(此处的参数应该与html文件里面的标识符一样)":值})
{{ 键var} 模板里面不能传递参数
{% if 表达式%}
{% elif 表达式%}
{% elif 表达式%}
{% else 表达式%}
语句
{% endif %}
forloop.counter 记录循环次数
ifequal
ifnotequa;
ifequal(值 值 )相同就输出,不同就不输出
{%ifequal(值 值 )相同就输出,不同就不输出%}
{%endifequal%}
过滤器 {{var | 过滤器}}在显示之前修改 upper lower join
{{ 值 | join:“ #”}}把值用#链接起来
{{参数 | default:'值'}}
如果参数没有值或者为false的话,就显示默认值。
date 转换为指定的字符串
add 加法过滤器
widthratio 乘法过滤器
widthratio num 参数1 参数2 即 num/参数1*参数2
divisibleby:值
取余数
{{if forloop.counter|divisibleby:2}}
{#注释内容#}单行注释
extends '父模板的路径·'
{% block tag%}
{% endblock%}
safe
autoescape 自动完成HTML转义
{%aotuescape off%}
{{code}}
{%endautoescape%}
{%csrf_token%}
网友评论