django面试题必知

Django的Model的继承有几种形式,分别是什么?(私信小编001 、002 、003 、007任何一个即可获取Python学习资料)

一、抽象继承:

 

 

这种继承的定义方法如下:

 

 

上例中,我们的Human子model中,自然包含了name和age的字段,但是Animal不能作为正常model使用,

 

 

二、正常的继承,多重继承,Joined映射

和抽象继承的主要区别是父类这时也可以拥有数据库表了,并且不在身为存储公共信息的抽象类了,父类也可以进行实例化,查询等操作了。

 

 

三、代理

 

 

例如:

 

 

我们为Person类增加了一个方法,可以跳舞,并且保持了User的数据字段的不变。

 

 

Django的Queryset是什么,objects是什么,objects在哪里可以定义。

 

 

例如有一个叫做Order的模型,在project的根目录下进入shell进行操作:

 

 

上述方法很常用

 

 

如下:

 

 

上述例子中我们把OrderManager赋值给了objects,替换了默认的管理器。

 

 

Django中查询queryset时什么情况下用Q?

在进行相对复杂的查询时,使用django.db.models.Q对象。

例如需要进行复合条件的查询的SQL语句如下:

 

 

使用Q就可以写成:

 

 

Django中想验证表单提交是否格式正确需要用到Form中的哪个函数?

 

 

Django取消级联删除

这个文档写的比较清楚:

 

 

并且SET_NULL只有在null为True的时候,才可以使用。

Django中如何在Model保存前做一定的固定操作,比如写一句日志?

关键词: 信号

 

 

信号的处理一般都写在Model中,举个例子:

 

 

这样应该就实现了题中的要求

 

 

Django中如何读取和保存session,整个session的运行机制是什么。



posted @ 2019-03-15 23:47  三冬三夏  阅读(226)  评论(0编辑  收藏  举报