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的运行机制是什么。